我想在我的网站上使用以下网址格式创建一个成员区域:
已注销用户的模式:
domain.com
domain.com/About
domain.com/Blog
domain.com/Blog/1 (where 1 is the post ID)
但我也有一个会员区,我在会员区前面跟这个会员一样:
domain.com/Member/MyProfile
domain.com/Member/MySettings
这看起来很简单,但我看不出为此制定路由规则的明显方法。我有:
routes.MapRoute(
"Member", // Route name
"Member/{controller}/{action}/{id}", // URL with parameters
new { controller = "Task", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
当您登录时,这对该成员非常有用,但不幸的是,第一条规则也与已注销的视图匹配,而Url.Action(“Blog”,“Home”)会生成一个如下所示的网址:
domain.com/Member/Home/Blog
如何告诉Url.Action必须使用默认规则在会员区域外形成网址?
答案 0 :(得分:1)
您可以使用real MVC area而不是尝试模拟一个。您还可以结帐video。我们的想法是将您的默认路由定义保留在Global.asax中,然后将一个成员区域添加到您的站点,该区域将具有单独的路由配置。