2012-05-01 104 views
3

我在asp.net應用程序中工作,添加了像表單元素,驗證和從數據庫填充數據等功能。<asp:TextBox> Vs <input type =「text」> Vs Html.TextBox

  1. 我可以使用ASP:控制,但我想知道是否有可能使用HTML.TextBox<input type="text">

  2. 如果我可以用<input type="text"Html.TextBox什麼是使用它們的優點和缺點與使用

回答

4

忘掉ASP.NET MVC中的服務器端控件。在ASP.NET MVC中,包含runat="server"的所有東西都是一個大的NO。無論如何,在剃刀中都無法使用。沒有優點和缺點。永遠不要使用服務器端控件,因此沒有什麼可比較的。只需使用HTML助手,例如Html.EditorForHtml.TextBoxFor即可。

+2

我的應用程序是asp.net,並且猜測它不是MVC ...所以Razor不被認可是正確的..此外,請您詳細說明您所做的「服務器端控件不應該使用」的強烈聲明 –

+2

@ Ajax3.14,服務器端控件依賴於事件,回發和查看狀態。這些是ASP.NET MVC中不再存在的概念。他們已經被html幫手取代。所以如果你正在開發一個ASP.NET MVC應用程序,你應該使用HTML助手。 –

3

如果您使用的是ASP.NET MVC,那麼手動輸入(<input type="text" />)或幫助器擴展(Html.TextBoxFor(x => x.SomeProperty))將是您最好的選擇,而且這取決於您打算做什麼。如果您正在製作的控件沒有元素的屬性,那麼只需手動輸入代碼即可。

在MVC應用程序中不要使用<asp:Checkbox ID="blah" runat="server" />

+0

我的應用程序只是asp.net,所以你認爲你的答案仍然適用於asp.net ..我可以使用(Html.TextBoxFor(x => x.SomeProperty)) –

+0

如果是傳統的WebForms,那麼完全相反。 – Tejs