我正在使用ASP.NET MVC站点,该站点将使用CMS控制器来访问除主页之外的站点的所有页面。这是个主意:
家庭控制器:
CMS控制器:
This page列出了有关如何设置默认页面路由的一些选项:
我猜另一种选择是只使用一个控制器和一些检测主页案例的逻辑,但这似乎与这个概念作斗争。
您如何建议为网站主页设置特定路线?
答案 0 :(得分:14)
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并由上面的地图路径处理。
BTW,您实际上可以从MVC模板项目中找到代码。答案 1 :(得分:3)
如果在IIS7集成模式下托管,我建议摆脱default.aspx。据我了解,它只需要在IIS6和IIS7经典模式上激活。
答案 2 :(得分:0)
我认为选项#1最简单。在寻找移动或寻找替代方案的强大理由之前,我可能会坚持下去。默认模板使用此方法。
[更新]广州打败了我