我有个基于mvc 2.0开发的系统,用的是添加Areas(区域)的方式。做完后我上传到息壤的服务器空间了,但是息壤设置首页只能设置.aspx的方式,打电话他们说mvc是在程序里设置的,请问应该怎么设置。我的首页是:http://localhost:20411/User/User/login
第一个User是区域名称
第二个User是Controller名称
login是请求名称
请问我该怎么设置?是在web.config中设置,还是在路由规则里设置,求高手指点。万分感激
如果这个路径就在本项目,你可以在 Global.asax.cs 文件的 RegisterRoutes 方法中加上下面的代码:
routes.MapRoute(
"Default", // 路由名称
"{controller}/{action}/{id}", // 带有参数的 URL
new { controller = "User", action = "login", id = UrlParameter.Optional }
);
如果是其他area,你可以看看这里的方法:http://stackoverflow.com/questions/2140208/how-to-set-a-default-route-to-an-area-in-mvc
就是希望用户输入域名后直接可以转到/User/User/login,您上面这个路油配置我有了,可是在浏览器输入http://localhost:20411/还是跳转不了
@lippor: 现在进入的是哪个页面?你可以在页面中做个跳转啊
@artwl: 我系统中建了三个区域,每个区域中都是一个模块。然后总项目中没有页面和Controller,您的意思是不是我在区域外加个controller,然后跳转到我区域中的首页?我今天在外面想到这个方法,还没试试,想传张图片显示我的网站结构,可惜没成功
@lippor: 嗯,是的,做个跳转
@artwl: 我在global里添加:
routes.MapRoute(
"Default", // 路由名称
"{areas}/{controller}/{action}/{id}", // 带有参数的 URL
new { areas = "User", controller = "User", action = "logon", id = UrlParameter.Optional }, null, new[] { "anyue.Areas.User.Controllers" } // 参数默认值
);
通过areas里的action了,然后他去寻找根目录下views的文件,我就在那个action里做了个跳转。在本地可以了,但是服务器上还是不行,不知道是不是息壤服务器那边问题,周五下午说给我开启mvc服务了的。郁闷
关注学习。。。
一起学习,我还没解决