使用区域和Mvc路由属性设置默认主页

时间:2015-04-18 10:42:06

标签: asp.net-mvc routing

我正在使用区域和属性路由为网站设置我的网址。我的AreaREgistration

  public class AreaNameAreaRegistration : AreaRegistration 
  {
    public override string AreaName 
    {
        get 
        {
            return "AreaName";
        }
    }

    public override void RegisterArea(AreaRegistrationContext context) 
    {
        context.Routes.MapMvcAttributeRoutes();
    }
  }

在控制器中我设置区域

[RouteArea("AreaName",AreaPrefix="")]

允许我将index操作设置为

[Route("Home")]

使用

的网址
localhost:00000/Home

这可以在整个网站中找到默认根localhost:00000/

我收到错误消息

  

参数字典包含参数的空条目   '与rememberMe'非可空类型

似乎想要将该区域的默认控制器设置为位于同一区域的AccountController

我尝试使用stackoverflow中添加

的类似问题的建议解决此问题
context.MapRoute(
   "AreaName_default",
   "{controller}/{action}/{id}",
   new {controller="Home" ,action = "Index", id = UrlParameter.Optional }
 );

但是,如果我这样做,那么我会收到一条新的错误消息

  

名为' AreaName_default'的路线已经在路线集合中。   路线名称必须是唯一的。参数名称:名称

是否有使用路径属性和区域将默认根网址设置为特定操作?

1 个答案:

答案 0 :(得分:0)

我在项目中将属性设置为网页标签下的Specific Page等于Home

显然路由配置似乎没有任何重大问题,这是我使用区域和路由属性的主要问题