2011-09-02 71 views

回答

10

Mvc是建立在asp.net之上的,就像webforms一樣,所以很容易。 做了幾次轉換的目的

也許這個網址可以幫助你:

http://www.hanselman.com/blog/IntegratingASPNETMVC3IntoExistingUpgradedASPNET4WebFormsApplications.aspx

http://www.hanselman.com/blog/PlugInHybridsASPNETWebFormsAndASPMVCAndASPNETDynamicDataSideBySide.aspx

+0

您是否使用Razor視圖引擎和Web窗體一起運行MVC? –

+1

是的,我有。在將webforms應用程序轉換爲mvc 3時使用了這兩個。與新創建的標準mvc3應用程序相比,您必須執行一些手動操作。 –

2

有沒有人成功部署ASP.NET MVC和Web窗體在 相同的應用程序在生產環境?

我從來沒有在同一個應用程序中混合使用ASP.NET MVC和經典的WebForms。我讓它們在單獨的應用程序中運行,並使用標準的HTTP技術(查詢字符串參數,表單帖子,cookie等)進行通信。

它在實踐中真的很容易嗎?

是的,就這麼簡單。

+0

這比在同一個應用程序中運行它們更容易嗎?看起來像管理使用HTTP的單獨應用程序之間的通信比在同一個程序集中調用類更多的工作。 –

+3

@T。韋伯斯特,我沒有說過它更容易。它更乾淨。在一些現有的WebForms應用程序中污染新的ASP.NET MVC應用程序總是一個壞主意。你會被誘惑去做一些你在ASP.NET MVC應用程序中永遠不應該做的事情。你肯定會得到以後需要重寫的醜陋代碼。就個人而言,我更喜歡在移植應用程序時以乾淨的方式進行切換,即使它可能有點難度,但要知道最終我會對結果感到滿意。 –

2

退房斯科特hanselmans AddMvc3ToWebForms NuGet包。我正在使用它,它的工作非常棒。我正在使用它來逐步將我的web表單應用程序轉換爲mvc

+0

不錯,但在我將這個標記爲答案之前,我必須自己嘗試。 –

3

一個問題是不要將WebForms放入Views文件夾中。我還沒有想到如何讓MVC獨自離開這些路徑。忽略路由指令似乎沒有在這種情況下工作,WebForms拋出404s。

除此之外WebFormsMVC一起工作得很好,因爲MVC2

2

在過去的幾個月裏,我花了很多時間。這是我的觀察。

好/易 - 獲取Webforms調入MVC控制器 - 這是非常容易站在了一個新的MVC3項目拖放Webforms頁面進去。 - 我能夠將我的<pages><controls></controls></pages>部分進入/pages目錄中新web.config

髒/困難

  • Regarding the GUID

    • 請注意,GUID必須添加由於某種原因,在行的前面......每次我嘗試失敗。直到我偶然發現一篇堅持它是其他人之前的文章。
    • 也是我不知道兩者的區別是什麼,但我有一個不同的GUID的工作... {E53F8FEA-EAE0-44A6-8774-FFD645390401}
  • 獲取目標網頁是Webforms引發的各種碰壁的。

  • 讓jQuery的智能感知與T4MVC

發揮很好,這是我做了什麼,以解決

@if (System.Diagnostics.Debugger.IsAttached) 
    { 
    <script src="../../Scripts/Mvc3/jquery-1.7-vsdoc.js" type="text/javascript"></script> @* intellisense! *@ 
    @Html.RelativeJavascript(Links.Scripts.Mvc3.jquery_1_7_js) 
    @Html.RelativeJavascript(Links.Scripts.Mvc3.jquery_unobtrusive_ajax_js) 
    } 
    else 
    { 
     @Html.RelativeJavascript(Links.Scripts.Mvc3.jquery_1_7_min_js) 
     @Html.RelativeJavascript(Links.Scripts.Mvc3.jquery_unobtrusive_ajax_min_js) 
    } 

建議:

  • 使用T4MVC在所有情況下,即使你是純webforms。消除靜態內容的魔術字符串(.js,.css,圖像,指定模板)非常出色。
相關問題