更新:上周的解决方法在Area=""使用默认路由映射时会出问题,见解决方法二
今天部署了一个Asp.Net MVC站点,希望它的默认页是一个html页,在vs2010中给站点根目录增加了default.html,然后调用没有什么问题,但部署到IIS7上,就是不起作用,试了routes.IgnoreRoute,但还是访问原来的路由设置的controller。
上网搜索了一下,找到下面两种解决的方法:(但我感觉都不好,最后自己找了一个解决的方法,感觉还行)
方法1:
在Global.asax文件中增加
protected void Application_BeginRequest(object sender, EventArgs e)
{
if (Context.Request.FilePath == "/") Context.RewritePath("Default.html");
}
方法2:
新建一个路由DefaultController,并把它设置为默认路由,在Action中增加
Redirect(Url.Content("~/Default.html"));
我的方法:
使用Web窗体应用程序路由MapPageRoute,开始时还碰到点问题。我增加routes.MapPageRoute