为什么ASP.NET MVC很难拥有Default.aspx文件?

时间:2008-12-02 10:40:49

标签: asp.net asp.net-mvc routing

在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?

2 个答案:

答案 0 :(得分:10)

旧版本的IIS需要一个启动文档,它还可以让您右键单击以获取“在浏览器中查看”选项。

答案 1 :(得分:6)

这里发生的是,请求的Url(Default.aspx)被重写到应用程序根“/”,然后从Webform HTTP处理程序转移到MvcHttpHandler。对“/”的请求将匹配默认路由条目(向下显示)...最终将我们发送到其中一个路由控制器。

有用的链接here