我想在ASP.NET MVC应用程序中映射两个路由
以下是我定义的路线:
routes.MapRoute(
"Profile",
"Users/{userID}/{username}/{action}",
new { controller = "Users", action = "Profile" }
);
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
到目前为止,这在大多数情况下都很有用。以下网址适用于我的主页:
<%= Html.ActionLink((UsersController x) => x.Login(), "Login") %>
<%= Html.ActionLink((UsersController x) => x.Profile(1, "blah") %>
这些映射到(尊重地):
/用户/登录 /用户/ 1 /嗒嗒
然而,一旦我导航到/ Users / 1 / blah,登录URL立即转为/ Users / 1 / blah / login。知道如何解决这个问题吗?
答案 0 :(得分:1)
您想使用<%=Html.RouteLink%>
答案 1 :(得分:0)
是你的路线命中授权过滤器?是否需要登录才能查看/ Users / 1 / blah页面? (即。在UsersController类或Profile Action上有[Authorize]属性吗?)
那么,如果它不是授权过滤器,我高度建议你在项目中实现这个Routing Debugger Tool。