Asp.net

您將如何將 ASP.Net MVC 嵌入到現有的網站項目中?[關閉]

  • February 20, 2009

我在 Visual Studio 2008 SP1 中有一個舊版*(哈哈)* ASP.Net Webforms網站項目,我想逐步將一些 MVC 功能引入其中。

我能找到的關於如何將 ASP.Net MVC 與 WebForms 集成的大部分資訊似乎都假設使用了Web 應用程序項目。但是,似乎不可能找到有關如何使用 ASP.Net MVC 功能改造現有 ASP.net 網站項目的資訊。

我已經閱讀了Scott Hanselman 的文章和他即將出版的書的第 13 章,這兩本書都假定了Web 應用程序項目類型。

這可能嗎?有沒有人有這方面的方法?

對於初學者來說,將 MVC 添加到 webforms 項目非常簡單,要獲得 VS 2008 for MVC 中的功能需要更多的工作(仍然很容易)。首先,您要確保引用程序集並使用 .Net 3.5。其次,您可以在目前的 Web 表單項目中創建一個控制器文件夾和視圖文件夾。您還可以使用索引操作創建一個簡單的控制器。然後在 global.ascx 文件中設置/配置路由。你應該從那裡開始。在這裡查看以供參考。

但是,您將只能創建帶有程式碼隱藏的 aspx 頁面(您可以刪除這些頁面並在標記中輸入正確的繼承類)。要真正“轉換”您的項目類型以便獲得 MVC 和 Visual Studio 的優點(添加新視圖、goto 控制器等)需要一些時間。我最好的建議是在 VS 2008 中創建一個新的 MVC 項目和一個新的 Web App 項目,並以純文字形式比較 .csproj 文件。有一個長字元串值告訴 VS 項目模板。

相信我,這確實有效。我以前在自己的遺留項目上做過。我不記得除了試驗/錯誤/消除之外,我是如何找到項目類型“關鍵”的。 ASP.Net MVC 在與 webforms 相同的項目中確實表現出色。

**更新:**我認為您可以更改為 MVC 項目類型,它仍然是一個 Web 應用程序,方法是在 .csproj 文件的 PropertyGroup 中使用這些。將這些與您擁有的進行比較並更改不同的,確保複製/備份文件。

<ProjectGuid>{B99EC98A-1F09-4245-B00D-5AF985190AA9}</ProjectGuid>
<ProjectTypeGuids>{603c0e0b-db56-11dc-be95-000d561079b0};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

**更新 2:**您不會影響您的項目或對其產生太大影響。如果您對此不滿意,請備份並四處玩耍。如果您遇到更改,您將始終擁有備份。起初我持懷疑態度,但很高興我走上了 MVC 的道路。

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