我在Global.asax
中有此路由值
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
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方法正确使用路线和目标。
谢谢!
使用正确的ActionLink
重载以获得预期的结果
@Html.ActionLink("Edit", "Topic", "Edit", new { id = item.ID }, null)
过载为ActionLink(string linkText, string actionName, string controllerName, object routeValues, object htmlAttributes)
为行为提供参数时,必须将null
添加为null HTML属性。或者,如果您实际上需要将HTML属性应用于链接,则可以使用:
@Html.ActionLink("Edit", "Topic", "Edit", new { id = item.ID }, new { @class = "MyCustomCssClassName" } )