我正在传递这个:
<%: Html.ActionLink("Edit", "EditCRMRequest", "CRM", new { Id = item.Id })%>
我正在浏览器中:
http://something.com/CRM/EditCRMRequest?Length=3
错误代码:
参数字典包含的参数"Id"的null条目方法的类型"System.Int32"不可为null中的"System.Web.Mvc.ActionResult EditCRMRequest(Int32)"ApricaCRMEvent.CRMController.CRMController"。可选参数必须是引用类型、可为null的类型,或者声明为可选参数。参数名称:参数
如果我在浏览器中明确地写下这篇文章,它会很好地工作:
http://something.com/CRM/EditCRMRequest?Id=3
正确方式:
<%: Html.ActionLink("Edit", "EditCRMRequest", "CRM", new { Id = item.Id },null)%>
没有像这样的过载方法:
Html.ActionLink(string text, string action, string controller, object routeValues)
如果你像上面一样写,Lenght=3
代表"CRM"。控制器名称表现为路由值
正确的方法是:
Html.ActionLink(string text, string action, string controller, object routeValues, object htmlAttributes)