在Visual Studio 2008中创建新的ASP.NET MVC项目时,默认情况下会有一个Default.aspx页面。它有一行
在其Page_Load函数中,它只是重定向到“/”以完成路由过程。
public void Page_Load(object sender, System.EventArgs e)
{
HttpContext.Current.RewritePath(Request.ApplicationPath);
IHttpHandler httpHandler = new MvcHttpHandler();
httpHandler.ProcessRequest(HttpContext.Current);
}
我尝试删除Default.aspx,但事实证明仍然可以访问默认URI“http://localhost:2574/”。那么,为什么还要有这样的Default.aspx?
答案 0 :(得分:10)
旧版本的IIS需要一个启动文档,它还可以让您右键单击以获取“在浏览器中查看”选项。
答案 1 :(得分:6)
这里发生的是,请求的Url(Default.aspx)被重写到应用程序根“/”,然后从Webform HTTP处理程序转移到MvcHttpHandler。对“/”的请求将匹配默认路由条目(向下显示)...最终将我们发送到其中一个路由控制器。
有用的链接here