2011-01-30 195 views
1

我完全不熟悉C#,asp.net和asp.net mvc。我剛剛開始嘗試。 所以這裏是我的問題:ASP.NET MVC Html.helpers和ASP.NET控件有什麼區別?我知道他們都可以用來在頁面中創建表單,但有什麼區別?我的意思是,我可以在我的MVC項目中使用ASP.NET控件,那麼使用Html.helpers有什麼意義?如果有人解釋關於Html標籤的差異,這將是非常好的。 因此,當我應該使用ASP.NET Controlls,何時應該使用ASP.NET MVC,以及何時應該使用Html標記?順便說一下,我在Visual Web Developer 2008 Express中使用ASP.NET MVC2。 抱歉我的壞英文thingy!ASP.NET MVC中的ASP.NET控件和Html.helpers之間有什麼區別?

+0

Html Helpers將讓你的代碼更加乾淨。在標記中沒有任何`runat-「服務器``是一個好習慣。 – 2011-01-30 00:22:45

+0

雖然這也是唯一的區別,但是現在我看到了不,它不是。 – kayvan 2011-01-30 09:25:08

回答

1

很大的區別,基本上是一個HTML輔助轉換到服務器上的HTML時它推回給客戶端。

控制不可用在MVC(你在想web表單),但這是一個個人喜好,不管你喜歡這個與否。這些表單可以很容易地創建複雜的HTML結構,但是它們呈現的方式有很多「魔術」,MVC可以讓您完全控制。

一旦你開始使用MVC,你會體會到靈活性並且不會錯過任何一個控件。另外,很多開源的東西在那裏給你強大的「助手」

+0

謝謝馬克,我瞭解了開源的東西。我不知道! – kayvan 2011-01-30 09:22:01

1

爲了增加馬克的回答是:雖然兩個ASP.NET控件和HtmlHelpers發出HTML,這其中的相似之處。

ASP.NET控件非常重。他們中的許多人在回發期間保持自己的狀態,以給人一種錯覺,認爲你正在編寫有狀態的Windows Forms應用程序。這些控件具有奇怪的和損壞的ID,將許多字節添加到「viewstate」隱藏表單域,並且通常難以控制標記和CSS樣式。

HtmlHelpers,因爲你控制所發出的HTML,最好是沒有任何狀態信息亂丟您的標記是輕量級可定製的方式呈現HTML。您可以控制ID,樣式,一切。但是你失去了控件給你的自動狀態管理。

相關問題