是否有人在生產環境中的相同應用程序中成功部署了ASP.NET MVC和Web窗體?在這樣做的時候你有沒有遇到任何衝突或陷阱?ASP.NET MVC與Web窗體一起在同一個Web應用程序中?
在實踐中真的像一樣容易嗎?如果你使用Razor視圖引擎和Web Forms一起運行MVC,那麼怎麼辦?
是否有人在生產環境中的相同應用程序中成功部署了ASP.NET MVC和Web窗體?在這樣做的時候你有沒有遇到任何衝突或陷阱?ASP.NET MVC與Web窗體一起在同一個Web應用程序中?
在實踐中真的像一樣容易嗎?如果你使用Razor視圖引擎和Web Forms一起運行MVC,那麼怎麼辦?
Mvc是建立在asp.net之上的,就像webforms一樣,所以很容易。 做了幾次轉換的目的
也許這個網址可以幫助你:
和
有沒有人成功部署ASP.NET MVC和Web窗體在 相同的應用程序在生產環境?
我從來沒有在同一個應用程序中混合使用ASP.NET MVC和經典的WebForms。我讓它們在單獨的應用程序中運行,並使用標準的HTTP技術(查詢字符串參數,表單帖子,cookie等)進行通信。
它在實踐中真的很容易嗎?
是的,就這麼簡單。
這比在同一個應用程序中運行它們更容易嗎?看起來像管理使用HTTP的單獨應用程序之間的通信比在同一個程序集中調用類更多的工作。 –
@T。韋伯斯特,我沒有說過它更容易。它更乾淨。在一些現有的WebForms應用程序中污染新的ASP.NET MVC應用程序總是一個壞主意。你會被誘惑去做一些你在ASP.NET MVC應用程序中永遠不應該做的事情。你肯定會得到以後需要重寫的醜陋代碼。就個人而言,我更喜歡在移植應用程序時以乾淨的方式進行切換,即使它可能有點難度,但要知道最終我會對結果感到滿意。 –
退房斯科特hanselmans AddMvc3ToWebForms NuGet包。我正在使用它,它的工作非常棒。我正在使用它來逐步將我的web表單應用程序轉換爲mvc
不錯,但在我將這個標記爲答案之前,我必須自己嘗試。 –
一個問題是不要將WebForms
放入Views文件夾中。我還沒有想到如何讓MVC
獨自離開這些路徑。忽略路由指令似乎沒有在這種情況下工作,WebForms
拋出404s。
除此之外WebForms
與MVC
一起工作得很好,因爲MVC2
。
在過去的幾個月裏,我花了很多時間。這是我的觀察。
好/易 - 獲取Webforms
調入MVC
控制器 - 這是非常容易站在了一個新的MVC3
項目拖放Webforms
頁面進去。 - 我能夠將我的<pages><controls></controls></pages>
部分進入/pages
目錄中新web.config
有
髒/困難
GUID
必須添加由於某種原因,在行的前面......每次我嘗試失敗。直到我偶然發現一篇堅持它是其他人之前的文章。{E53F8FEA-EAE0-44A6-8774-FFD645390401}
獲取目標網頁是Webforms
引發的各種碰壁的。
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
,圖像,指定模板)非常出色。
您是否使用Razor視圖引擎和Web窗體一起運行MVC? –
是的,我有。在將webforms應用程序轉換爲mvc 3時使用了這兩個。與新創建的標準mvc3應用程序相比,您必須執行一些手動操作。 –