我正在尝试将我的MVC应用程序的默认URL设置为我应用程序区域内的一个视图.该区域称为“公共”,控制器“Home”和视图“Index”.
我已经尝试将web.config的表单部分的defaultUrl设置为“〜/ Common / Home / Index”,没有成功.
我也尝试在global.asax中映射一条新路由,因此:
routes.MapRoute( "Area","{area}/{controller}/{action}/{id}",new { area = "Common",controller = "Home",action = "Index",id = "" } );
再次,无济于事
解决方法
您列出的路由只有在明确输出URL时才起作用:
yoursite.com/{area}/{controller}/{action}/{id}
该路线说的是:
如果我得到一个有效的{area}的请求,该区域中有效的{controller},并且该控制器中有一个有效的{action},然后将其路由到那里.
你想要的是默认的控制器,如果他们只是访问你的网站,yoursite.com:
routes.MapRoute( "Area","",action = "Index" } );
这是说,如果他们没有附加任何东西到http://yoursite.com然后路由到以下行动:普通/首页/索引
另外,把它放在你的路由表的顶部.
确保您也让MVC知道注册您在应用程序中的区域:
将以下内容放在Global.asax.cs文件中的Application_Start方法中:
AreaRegistration.RegisterAllAreas();