我想在我的网站上使用以下 URL 模式创建一个会员区:
注销用户的模式:
domain.com
domain.com/About
domain.com/Blog
domain.com/Blog/1 (where 1 is the post ID)
但我也有一个会员区,我在 URL 前面加上 Member,如下所示:
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") 生成一个如下所示的 Url:
domain.com/Member/Home/Blog
如何告诉 Url.Action 它必须在成员区域之外使用默认规则形成 Url?