配置部分中的Asp.Net MVC区域参数

在asp.net mvc rounting中,我们是否需要区域参数作为路由配置中的要求?如果我们不给区域作为参数怎么办?

使用Area参数:routes.MapRoute(name:“Test”,url:“ / details / ”,默认值:new {controller =“Default”,action =“Index”,area = string.Empty} ,

With out area parameter:
routes.MapRoute(
                name: "Test",
                url: "{Detailid}/details/{Id}",
                defaults: new { controller = "Default", action = "Index" },

回答(1)

2 years ago

如果要将URL路由映射到某个区域,则必须提供area参数 . 如果不这样做,那么您的应用程序将尝试将其映射到默认值 - 这将使其认为您的区域名称是控制器名称 .

例如,如果您有一个名为members的区域,并且您想要转到帐户控制器的edit action方法,则该URL可能是/ Members / Account / Edit . 如果你没有告诉MVC成员是一个区域,那么它会寻找一个名为'Members'的控制器,其操作方法'Account'采用字符串参数'Edit'