blu*_*lue 1 html asp.net-mvc html-helper html.actionlink
我传递了这个:
<%: Html.ActionLink("Edit", "EditCRMRequest", "CRM", new { Id = item.Id })%>
Run Code Online (Sandbox Code Playgroud)
我进入浏览器:
http://something.com/CRM/EditCRMRequest?Length=3
Run Code Online (Sandbox Code Playgroud)
与错误代码:
参数字典包含非可空类型'System.Int32'的参数'Id'的空条目,用于'ApricaCRMEvent.Controllers.CRM.CRMController'中的方法'System.Web.Mvc.ActionResult EditCRMRequest(Int32)'.可选参数必须是引用类型,可空类型,或者声明为可选参数.参数名称:参数
如果我在浏览器中明确地写这个,它工作正常:
http://something.com/CRM/EditCRMRequest?Id=3
Run Code Online (Sandbox Code Playgroud)
正确的方式:
<%: Html.ActionLink("Edit", "EditCRMRequest", "CRM", new { Id = item.Id },null)%>
Run Code Online (Sandbox Code Playgroud)
没有像这样的重载方法:
Html.ActionLink(string text, string action, string controller, object routeValues)
Run Code Online (Sandbox Code Playgroud)
如果您像上面那样写,Lenght=3则代表"CRM".控制器名称表现为routeValues
正确的方法是:
Html.ActionLink(string text, string action, string controller, object routeValues, object htmlAttributes)
Run Code Online (Sandbox Code Playgroud)