MVC 4 - 在某个区域的控制器上获得404

时间:2013-11-14 17:31:48

标签: asp.net-mvc-4 c#-4.0 forms-authentication asp.net-mvc-areas

我的问题是关于为内部用户和外部用户设置应用的访问权限。

基于MS TechKB: AREAS in ASP.NET,我选择了AREAS。我有Areas/InternalAreas/ExternalAreas/External具有应用程序的实际功能和控制器。所有Areas/Internal都检查服务器变量,如果它在活动目录中签出,则将您的身份设置为您的域名。

问题是,我可以很好地到达Areas/External控制器/页面但是当我尝试浏览到Areas/Internal区域控制器时,我得到了404.我的控制器被命名为{{1} (不包括名称中的“Controller”)这就是我的Intranet文件的样子:

InternalAreaRegistration.cs

有谁能告诉我为什么我会在内部控制器上获得404?

1 个答案:

答案 0 :(得分:0)

您在上面编写的代码中的区域之后似乎缺少控制器段。它应该是这样的:


        public override void RegisterArea(AreaRegistrationContext context)
        {
            context.MapRoute(
                "Internal_default",
                "Intranet/{controller}/{action}/{id}",
                new { action = "Index", id = UrlParameter.Optional },
                namespaces: new[] { "Your Controller Namespace" }
            );
        }

以下链接中的相关问题已得到解答,希望这也有助于: Controller with same name as an area - Asp.Net MVC4