我在Global.asax
中有这个路线值routes.MapRoute( “默认”,//路线名称 “{controller} / {action} / {id}”,//带参数的网址 new {controller =“Home”,action =“Index”,id = UrlParameter.Optional} //参数默认值 );
routes.MapRoute( "Edit", // Route name "Admin/{controller}/{action}/{id}", // URL with parameters new { controller = "Edit", action = "Index", id = UrlParameter.Optional } // Parameter defaults );
我使用此ActionLink方法调用编辑路径
@Html.ActionLink("Edit", "Topic", "Edit", new { id = item.ID })
现在生成链接的结果就是这样......
http://localhost:777/Admin/Topic?Length=4
如何使用ActionLink方法正确使用路径和目标。
谢谢!
答案 0 :(得分:3)
使用ActionLink
的正确重载来获得预期结果
@Html.ActionLink("Edit", "Topic", "Edit", new { id = item.ID }, null)
重载是ActionLink(string linkText, string actionName, string controllerName, object routeValues, object htmlAttributes)
在为操作提供参数时,必须将null
添加为空HTML属性。或者,如果您确实需要将HTML属性应用于链接,则可以使用:
@Html.ActionLink("Edit", "Topic", "Edit", new { id = item.ID }, new { @class = "MyCustomCssClassName" } )