我正在传递这个:
<%: Html.ActionLink("Edit", "EditCRMRequest", "CRM", new { Id = item.Id })%>
我正在使用浏览器:
http://something.com/CRM/EditCRMRequest?Length=3
错误代码:
参数字典包含参数“Id”的空条目 方法的非可空类型'System.Int32' 'System.Web.Mvc.ActionResult EditCRMRequest(Int32)'in 'ApricaCRMEvent.Controllers.CRM.CRMController'。可选参数 必须是引用类型,可空类型,或声明为 可选参数。参数名称:参数
如果我在浏览器中明确地写这个,它可以正常工作:
http://something.com/CRM/EditCRMRequest?Id=3
答案 0 :(得分:5)
正确的方式:
<%: Html.ActionLink("Edit", "EditCRMRequest", "CRM", new { Id = item.Id },null)%>
没有这样的重载方法:
Html.ActionLink(string text, string action, string controller, object routeValues)
如果你这样写,Lenght=3
代表“CRM”。控制器名称表现为routeValues
正确的方法是:
Html.ActionLink(string text, string action, string controller, object routeValues, object htmlAttributes)