我的問題是:爲什麼?
,因爲他們大多取決於如ViewState的東西和回傳模式這是經典的WebForms模型的一部分,ASP.NET MVC不復存在。這些服務器端控件依賴於事件,這些事件將執行回傳到服務器,並在隱藏字段(ViewState)中保持它們的狀態。在ASP.NET MVC中,您不再使用諸如Button1_Click
之類的事件。在ASP.NET MVC中,您可以使用模型,控制器和視圖。控制器負責接收用戶請求,查詢模型,將結果轉換爲視圖模型,並將此視圖模型傳遞給負責以某種形式顯示它的視圖。
在ASP.NET MVC中有HTML助手可以用來在視圖之間生成一些可重用的HTML片段。你可以看看這樣的助手的Telerik ASP.NET MVC suite的例子。他們稱它們爲控件,但它們與經典的WebForms服務器端控件無關。他們只是HTML助手。
基本上經典的WebForms是Web的漏洞抽象。當他們設計這個框架的時候,微軟所做的一切就是把現有的Windows開發人員的技能帶到網絡上,這個技術越來越流行。但是由於網絡仍然是大多數開發者還不熟悉的新技術,他們創造了這種抽象來隱藏www的工作方式。那些開發人員習慣於在他們的Windows窗體上拖放控件,雙擊那些爲他們生成一些代碼的按鈕,在這些按鈕中放置他們的數據訪問邏輯等等。感謝WebForms,這種模式已轉換爲Web應用程序開發。 HTTP協議已成功隱藏在稱爲WebForms的抽象背後。例如,您不需要了解HTML,也不需要Javascript,甚至不需要CSS,以便使用WebForms創建網站,這非常棒,因爲該框架爲您抽象了所有這些內容。不幸的是,這樣做會阻止您輕鬆使用某些人在開發Web應用程序時可能需要的低級Web技術的全部功能。
ASP.NET MVC所做的一切基本上是去除了這種泄漏的抽象,並將www以其創建者的意圖帶入開發人員的行列。與經典的WebForms相比,ASP.NET MVC還不夠成熟,所以你不能指望找到相同的可用控件和小部件,但事情正在緩慢轉移。
我建議你從這裏開始ASP.NET MVC:http://asp.net/mvc。繼續,觀看視頻,玩弄樣品,看看ASP.NET MVC是否適合你。當然,如果你遇到一些特定的困難或問題,請毫不猶豫地回到這裏問問題。
MVC的重點在於不使用服務器控件。 – SLaks 2012-01-27 19:41:04
我認爲MVC的重點是單獨開發成不同的關注點,以使測試更容易,加速開發等等。 – 2012-01-27 19:47:59
好的;整個MVC中的一點就是不使用服務器控件。 – SLaks 2012-01-27 19:48:29