Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC区域路由-如何在URL中排除区域名称_C#_Model View Controller - Fatal编程技术网

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

C# MVC区域路由-如何在URL中排除区域名称,c#,model-view-controller,C#,Model View Controller,我想用“区域”来区分我的CMS系统的代码和内容,以及网站商业部分的内容 所以我想创建一个区域(称为Commerce),其中包含一个名为“Buy”的控制器。但是我希望路由忽略路由的商业部分,而是创建一个类似于“www.acme.com/Buy”而不是“www.acme.com/Commerce/Buy”的URL 这可能吗?是的,可能。但我不确定这是否是个好办法 创建区域后,您将拥有一个新文件[areaname]areaRegistration.cs 在RegisterArea方法中,只需从cont

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

所以我想创建一个区域(称为Commerce),其中包含一个名为“Buy”的控制器。但是我希望路由忽略路由的商业部分,而是创建一个类似于“www.acme.com/Buy”而不是“www.acme.com/Commerce/Buy”的URL


这可能吗?

是的,可能。但我不确定这是否是个好办法

创建区域后,您将拥有一个新文件[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}",

这实际上是由default@Kyle默认情况下这是如何发生的?你能描述一下吗?