Asp.net mvc 如何为ASP.NET MVC站点的主页设置路由?
我正在与一个ASP.NETMVC网站合作,该网站将使用CMS控制器处理除主页以外的所有页面。我的想法是: 主控台:Asp.net mvc 如何为ASP.NET MVC站点的主页设置路由?,asp.net-mvc,routing,Asp.net Mvc,Routing,我正在与一个ASP.NETMVC网站合作,该网站将使用CMS控制器处理除主页以外的所有页面。我的想法是: 主控台: www.site.com www.site.com/default.aspx CMS控制器: www.site.com/about www.site.com/agenda/schedule www.site.com/monkey/eats/spaghetti (几乎是其他任何东西) 列出有关如何设置默认页面路由的一些选项: 将Default.aspx保留为未路由和未定向的应
- www.site.com
- www.site.com/default.aspx
- www.site.com/about
- www.site.com/agenda/schedule
- www.site.com/monkey/eats/spaghetti
- (几乎是其他任何东西)
您建议如何为站点主页设置特定的路由?如果在IIS7集成模式下托管,我建议取消default.aspx。据我所知,只有在IIS6和IIS7经典模式下激活才有必要 www.site.com可以通过根映射路由进行处理
routes.MapRoute(
"Root",
"",
new { controller = "Home", action = "Index", id = "" }
);
将以下内容放入Default.aspx的页面加载中
HttpContext.Current.RewritePath(Request.ApplicationPath, false);
IHttpHandler httpHandler = new MvcHttpHandler();
httpHandler.ProcessRequest(HttpContext.Current);
这会将请求重写为root,并由上面的映射路由处理
顺便说一句,您实际上可以从MVC模板项目中找到代码。我认为选项1最简单。我可能会坚持下去,直到找到一个强有力的理由搬家或找到另一个选择。默认模板使用这种方法
[更新]坎顿击败我