Asp.net

為什麼 ASP.NET MVC 需要一個 Default.aspx 文件?

  • July 10, 2012

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

舊版本的 IIS 需要一個啟動文件,它還為您提供了一些右鍵點擊以獲取“在瀏覽器中查看”選項的內容。

這裡發生的情況是,請求的 Url(即 Default.aspx)被重新寫入應用程序根目錄“/”,然後從 Webform HTTP 處理程序轉移到 MvcHttpHandler 上。對“/”的請求將匹配預設路由條目(顯示更下方)……最終將我們發送到其中一個路由控制器。

有用的連結在這裡

引用自:https://stackoverflow.com/questions/333596