【问题标题】:asp.net mvc area default pageasp.net mvc区域默认页面
【发布时间】:2011-03-18 22:04:25
【问题描述】:

我有一个带有区域的 MVC 2 站点,假设区域名称是 {Admin}

这些区域和网站运行良好。

我想做的是为该区域设置不同的默认页面。

当我打电话时 http://webSiteName 工作没有问题

但是对于 http://webSiteName/Admin 我收到了错误

找不到资源

我尝试了ASP.NET MVC 2 RC 2 returns Area-specific controller when no area specified的解决方案 但没有运气。

我也试过了

routes.MapRoute(
                 "Admin",                                         
                 "{controller}/{action}/{id}",                               
                 new { controller = "AdminHome", action = "index" },
                 new[] { "Web.Areas.Admin.Controllers" }
                 );

routes.MapRoute(
                 "Admin",                                      
                 "Admin",                              
                 new { controller = "AdminHome", action = "index" },   
                 new string[] { "Web.Areas.Admin.Controllers" }
                 );

但我仍然收到找不到资源。

我做错了什么?

【问题讨论】:

  • 如果对您有帮助,请将分析器标记为已接受。

标签: asp.net-mvc asp.net-mvc-areas


【解决方案1】:

试试这个。当您的区域命名为Admin 时,请确保它位于/Areas/Admin/AdminAreaRegistration.cs

    public override void RegisterArea(AreaRegistrationContext context)
    {
        context.MapRoute(
            "Admin_default",
            "Admin/{controller}/{action}/{id}",
            new { controller = "AdminHome",action = "Index", id = "" }
        );
    }

您无需向Global.asax 添加任何内容。

【讨论】:

  • 谢谢马丁,终于比我想象的要容易了。 :)
猜你喜欢
  • 2016-10-18
  • 2019-11-02
  • 1970-01-01
  • 1970-01-01
  • 2011-06-19
  • 2019-06-09
  • 1970-01-01
  • 2018-04-29
  • 1970-01-01
相关资源
最近更新 更多