首页 新闻 会员 周边 捐助

MVC4路由问题,怎么将多级views文件夹里的一个页面设置成起始页

0
悬赏园豆:20 [已解决问题] 解决于 2014-04-08 17:48

我现在有一个需求,我的项目主页在views下的default文件夹内,我想在项目启动时首页就能自动是这个页面,如下图:

原来没有default这级文件夹时,路由设置成这样是可以找到首页的:

 现在多了一级default,路由设置成下图这样,首页就找不到了。不过手动输入网址http://localhost:60230/Default/Home/Index是可以找到页面的。

小弟MVC新手,请高手赐教了,怎么才能实现我这个需求?

破天长云的主页 破天长云 | 初学一级 | 园豆:21
提问于:2014-04-02 10:18
< >
分享
最佳答案
0

//首页路由也能
            routes.MapRoute(
              name: "Home", // 路由名称
              url: "{controller}/{action}", // 带有参数的 URL
              defaults: new { controller = "Home", action = "Index" } // 参数默认值
            );

破天长云 | 初学一级 |园豆:21 | 2014-04-08 17:47
其他回答(4)
0

你这个首页路由要放在默认路由的前面.

而且你在views里面加了一级文件夹,你用view()返回的时候需要指定路径的,不能直接return view(),会找不到cshtml文件的

收获园豆:10
吴瑞祥 | 园豆:29449 (高人七级) | 2014-04-02 10:38
0

帮顶

[秦时明月] | 园豆:738 (小虾三级) | 2014-04-02 10:42
0

加个 域吧

Qlin | 园豆:2403 (老鸟四级) | 2014-04-02 11:01
0

从你的请求Url来看,Default要变成Area区域了,所以Controller放在哪里都没关系,只要写路由时,写上Controller的命名空间即可,但匹配视图时,会到Area文件夹下找,而不是最外层的View文件夹下找Default.

加一个Home所有的Controller的命名空间,如:

 routes.MapRoute(
                name: "DefaultHome",
                url: "Default/{controller}/{action}",
                defaults: new { controller = "Home", action = "Index" },

                new string[] { "YourProject.YourControllers" }
                );

收获园豆:10
king2003 | 园豆:161 (初学一级) | 2014-04-02 13:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册