到目前为止,我已经能够避免使用 ASP.NET MVC 附带的默认路由。不幸的是,现在我正在扩展到更复杂的路线,我正在努力思考如何让它发挥作用。
我试图获取的一个简单示例是将路径 /User/{UserID}/Items 映射到用户控制器的 Items 功能。谁能告诉我我在这里的路由做错了什么?
routes.MapRoute("UserItems", "User/{UserID}/Items",
new {controller = "User", action = "Items"});
在我的 aspx 页面上
Html.ActionLink("Items", "UserItems", new { UserID = 1 })
根据 MVC Preview 4 代码,我面前有您正在使用的 Html.ActionLink() 重载:
public string ActionLink(string linkText, string actionName, object values);
注意第二个参数是如何动作名称不是路线名称.
因此,请尝试:
Html.ActionLink("Items", "Items", new { UserID = 1 })
或者,尝试:
<a href="<%=Url.RouteUrl("UserItems", new { UserId = 1 })%>">Items</a>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)