MVC区域路由 - 如何在URL中排除区域名称

时间:2011-07-25 13:07:13

标签: c# model-view-controller

我想使用“区域”来分隔CMS系统的代码和内容以及网站商务部分的内容。

所以我想创建一个包含名为“Buy”的Controller的区域(称为Commerce)。但我喜欢路由忽略路线的商务部分,而是创建一个看起来像“www.acme.com/Buy”而不是“www.acme.com/Commerce/Buy”的网址

这可能吗?

1 个答案:

答案 0 :(得分:0)

是的,这是可能的。但我不确定这是好方法。

创建您的区域后,您有一个新文件[areaname] areaRegistration.cs 在RegisterArea方法中,只需从contex.MapRoute中删除区域名称,就像这样

 public override void RegisterArea(AreaRegistrationContext context)
    {
        context.MapRoute(
            "Test_default",
            "{controller}/{action}/{id}",
            new { action = "Index", id = UrlParameter.Optional }
        );
    }

如您所见,我在此行中删除了区域名称

"{controller}/{action}/{id}",

而不是

"[AreaName]/{controller}/{action}/{id}",