MVC3 Url路由创建成员区域

时间:2012-04-04 17:34:56

标签: asp.net-mvc-3 url-routing

我想在我的网站上使用以下网址格式创建一个成员区域:

已注销用户的模式:

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必须使用默认规则在会员区域外形成网址?

1 个答案:

答案 0 :(得分:1)

您可以使用real MVC area而不是尝试模拟一个。您还可以结帐video。我们的想法是将您的默认路由定义保留在Global.asax中,然后将一个成员区域添加到您的站点,该区域将具有单独的路由配置。

相关问题