8

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

4

2 回答 2

10

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

于 2008-12-02T15:00:06.053 回答
6

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

有用的链接在这里

于 2008-12-02T10:51:27.290 回答