Asp.net

並行執行 ASP.NET Webforms 和 ASP.NET MVC

  • September 26, 2021

目前我正在開發使用 ASP.NET Web 窗體建構的 Web 項目。我們想開始使用 MVC 框架建構新頁面。

看起來並排執行 MVC 和 Web 窗體是可行的 並排 執行 ASP.NET Webforms 和 ASP.NET MVC

我很好奇是否有任何我需要計劃的問題或陷阱。

我在 ASP.NET 4.0 上執行併計劃使用 MVC3。

我一直在這里為內部應用程序執行 Webforms 和 MVC。它最初是一個 webforms 應用程序,我已經將它遷移到 MVC2(當時是 3 個)中,其中幾個部分仍然成功地與 Webforms 一起工作。

正如達林所說,主要的問題是模板。如果您使用 Webforms 視圖引擎,則必須創建 2 層母版頁。Webforms 程式碼(例如腳本管理器)不能在 MVC 頁面上執行,MVC 程式碼也不能在 Webforms 頁面下執行。

我的母版頁設置有一個不包含任何 MVC 或 Webforms 程式碼的全域母版頁。它只有 CSS、全域 javascript 和主佈局。然後我有一個 MVC 母版頁和一個 webforms 母版頁,兩者都有使用全域母版頁作為母版頁的指令。然後每個 webforms 頁面使用 Webforms 子母版頁,MVC 使用 MVC 子母版頁。

如果需要在全域母版頁中放一些程式碼,可以通過測試 if 來判斷子頁是 Webforms 還是 MVC 頁面Page is System.Web.Mvc.ViewPage。如果是,true那麼它就是一個 MVC 頁面,否則它就是一個 Webforms 頁面。

但是,如果您決定使用 Razor 視圖引擎(我確實推薦用於 MVC,它會好得多),它會變得更加困難。除了我之前提到的之外,您還必須做一些額外的工作。 這篇博文應該在這方面有所幫助。

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