我一直認爲ASP.NET MVC框架是一個糟糕的名字,因爲它的設計模式。
的問題應該是:
我當會使用ASP.NET MVC框架在ASP.NET Web表單?
開發者的體驗
一)ASP.NET Web窗體嘗試從開發商HTTP的抽象掉的無狀態特性。 GUI元素和/或數據的狀態存儲在Viewstate/Session中。每個人表單都會自行回傳,基本上模仿了WinForm事件驅動設計的行爲。
b)HTML GUI元素被控件進一步抽象,可以從第三方供應商那裏重新使用。這有助於開發人員將HTML應用程序粘合在一起,而不需要太多JavaScript和HTML/HTTP知識。基本上類似於你開發VB/WinForms的方式
c)你可以很好的實現ASP.NET webforms中的MVC/MVP模式。查看模式和實踐Web客戶端軟件工廠,看看他們是如何做到的。
d)使用WebForms進行開發時,您通常會根據服務器上的用戶反饋更改HTML(視圖)。大多數事件(用戶單擊一個按鈕,編輯一個字段)在服務器中以連續的回發循環執行,稱爲ASP.NET頁面生命週期。
VS
瀏覽器控制視圖(不知道我還能怎麼稱呼它)。基於用戶輸入的HTML的所有更改都在瀏覽器中處理。你將用Javascript操縱DOM。
注:我這個基礎上的事實,ASP.NET MVC很可能是由基本的HTML + Ajax的
驅動如何我會親自它們之間進行選擇(從未使用MVC,只是讀就可以了) 1)如果我要使用Ajax,Jquery,EXT JS類型庫ASP.NET MVC構建一個純粹的無狀態前端,它似乎更適合。儘管可以在ASP.NET Webforms中構建它,但由於沒有充分利用Postback模型和服務器控件的優勢,這似乎毫無意義。 2)如果我被要求構建一個新的基本Web應用程序,我會堅持使用ASP.NET Webforms,因爲我已經熟悉它並知道整個頁面的生命週期。
3)如果我被要求建立一個Web 2。0(恨這個詞)擁有下一代用戶體驗,我可能會使用ASP.NET MVC,並使用JQuery/ASP.NET Ajax客戶端控件。
4)許多公司已經建立了一套可用的WebForm控件。這將是昂貴的重建他們都在一個純粹的無國籍ajaxy方式:)
這個問題似乎是題外話,因爲這在幫助中心說明是不在討論範圍之內。 – Will 2013-08-23 15:21:35