2008-12-02 32 views
8

在Visual Studio 2008中創建新的ASP.NET MVC項目時,默認情況下有一個Default.aspx頁面。它有一個線爲什麼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呢?

回答

10

IIS的舊版本需要一個啓動文件,它也給你的東西右鍵點擊得到「在瀏覽器中查看」選項。

6

這裏發生的事情是,Url請求(這是Default.aspx)正在被重寫到應用程序根目錄「/」,然後從Webform HTTP處理程序轉移到MvcHttpHandler上。對「/」的請求將匹配默認路由條目(進一步向下顯示)......最終將我們發送到其中一個路由控制器。

有用的鏈接here

+0

謝謝。該鏈接(http://www.58bits.com/blog/2008/09/29/ASPNetMVCAndRoutingDefaultaspx.aspx)實際上解釋了Default.aspx可以被刪除,它仍然有效。 – 2008-12-02 14:48:11

+0

上面的58位鏈接現在位於http://www.58bits.com/blog/2008/09/29/asp-net-mvc-and-routing-default-aspx/ – 2011-10-10 02:17:25

相關問題