2008-09-03 94 views
21

作爲一個有一些winforms和客戶端應用程序經驗的人 - 值得回顧並學習傳統的ASP .NET頁面的工作方式,還是可以直接進入ASP .NET MVC?傳統的ASP .NET Web窗體與MVC

我在尋找一般C#的知識中的陷阱或陷阱,我不知道從屏幕視頻系列和ASP .NET網站上的東西。

+0

另請參閱http://stackoverflow.com/questions/102558/biggest-advantage-to-using-asp-net-mvc-vs-web-forms?lq=1 – nawfal 2014-05-04 17:21:16

回答

40

這是關於MVC的偉大之處。它比常規ASP.NET Web窗體更接近框架的基礎。所以通過使用MVC並理解它,您將更好地理解WebForms的工作方式。 WebForms的問題是存在很多魔法,並且大約6年試圖使Web窗口像Windows窗體一樣工作,所以您擁有控制樹層次結構並將所有內容都轉換爲Web。使用MVC,您將獲得WinForm影響力的核心。

因此,從MVC開始,如果需要,您可以輕鬆地轉入WebForms。

+2

從MVC開始,然後轉到WebForms?如此愚蠢 。它喜歡去1步forwrad和3回 – Zakos 2014-02-17 16:54:02

4

ASP.Net Webforms是比ASP.NET MVC完全不同於基本框架的抽象。使用MVC,您可以更好地控制封面上發生的事情,而不是使用ASP.NET Webforms。

在我看來,學習不同的方法來做事通常會讓你成爲一個更好的程序員,但在這種情況下,可能會有更好的東西學習。

1

IMO,在正常的web表單場景中比在MVC中有更多的缺陷。 Viewstate和數據綁定有時可能會非常棘手。

但是對於MVC來說,它只是簡單的形式post /渲染事物的老派方式。不是說它不好,它只是不同而且更乾淨。

1

因爲我迄今爲止只使用了傳統模型,所以我無法真正地談論MVC和「傳統」。不過,從我讀過的內容來看,我認爲一個人遠遠優於另一個。我認爲一旦你「明白了」,你就可以在兩方面都有很高的生產力。

實際上,我會考慮到大多數書籍,代碼示例和現有應用程序都是爲「傳統」方式編寫的。您有更多的幫助,而且您的技能對於以「傳統」方式編寫現有應用程序的僱主更有用。

+2

我不同意代碼示例參數。 MVC是針對C#方法的HTML/Javascript。網絡控制的東西從那裏被取出,而不是真的*用別的東西替換*。由於每種Web技術都可以與HTML協同工作,並且可以(應該)使用JavaScript,所以我發現解決方案的速度遠遠超過了解如何使用asp.net控件進行操作。 – 2009-05-21 09:10:24

8

我同意尼克:MVC更接近真實網絡範例,並通過使用它,你會面臨你的網站真正的作品。 WebForms將大部分這些東西從您的背景中提取出來,並且來自PHP背景,我發現它非常直觀。

我建議你直接跳到MVC並跳過WebForms。如上所述,如果需要,您將可以回到它。

2

這取決於你的動機。如果你打算以ASP.NET開發人員的身份出售自己,那麼你將需要這兩者。

如果這只是爲了您自己的樂趣,然後去MVC。

我個人的感覺是webforms將會持續多年。許多人有時間和精力投入他們。但是,我認爲人們會慢慢地(或者不那麼慢)遷徙。 Webforms始終只是一種讓拖放式VB4 morts思考Web開發的方法。它很有用,但它確實帶走了很多控制權。

0

如果你不知道如何或沒有經驗的原始水平的Web請求/響應和原始的HTML/CSS渲染MVC將是一個很好的開始。 然後,您將更好地瞭解webforms和mvc的優點和缺點。由於兩者都滿足不同的需求,它們都將在未來出現。

雖然我會說webforms是一個高度濫用和濫用的平臺。 這麼多的「看看沒有代碼」的垃圾給所有使用它的人一個壞名字。 花時間理解並正確使用它,你會發現它是一個非常可擴展和強大的平臺。

2

ASP.NET MVC適用於希望將客戶端代碼與服務器代碼分離的開發人員。我希望編寫可以從服務器轉移到服務器的JavaScript,XHTML,CSS客戶端(不考慮服務器技術)。客戶需要花費大量時間進行安裝和完成,因此您希望將它們(和子組件)用於儘可能多的服務器。此外,此解耦允許您的服務器支持任何支持HTTP和尖括號(和/或JSON)(如WPF/Silverlight)的客戶端技術。如果沒有ASP.NET MVC,你就會被迫與整個ASP.NET團隊形成敵對關係 - 但是Scott Guthrie是一個很酷的傢伙,在他的前輩(也許是Scott自己)的幾年之後幾乎完全集中在MVC上。讓Windows Forms程序員編寫Web應用程序。

在ASP.NET MVC之前,我主要基於ASHX文件 - HTTP處理程序構建ASP.NET應用程序。我可以向你保證,沒有「真正的」微軟商店會鼓勵這種行爲。從(明智的)管理角度來看,要求所有開發人員都使用供應商推薦的使用供應商工具的方式。因此,落後一到兩年的IT商店將要求您瞭解MVC之前的做事方式。當您需要維護「傳統」系統時,這也很方便。

但是,對於綠色領域,它一路是MVC!