Asp.net-Mvc-2

Html.TextBox 和 Html.TextBoxFor 之間的區別

  • September 28, 2016

Html.TextBox 和 Html.TextBoxFor 有什麼區別?據我所知,它們產生相同的 html 輸出。除非我在這裡遺漏了什麼。請幫我解決一下這個。

Html.TextBox不是強類型,也不需要強類型視圖,這意味著您可以硬編碼您想要的任何名稱作為第一個參數並為其提供一個值:

<%= Html.TextBox("foo", "some value") %>

您可以在控制器操作內的字典中設置一些值,ViewData並且助手將在呈現文本框 ( ViewData["foo"] = "bar") 時使用該值。

Html.TextBoxForis 需要強類型視圖並使用視圖模型:

<%= Html.TextBoxFor(x => x.Foo) %>

助手將使用 lambda 表達式來推斷傳遞給視圖的視圖模型的名稱和值。

並且因為使用強類型視圖和視圖模型是一種很好的做法,所以您應該始終使用Html.TextBoxFor幫助程序。

引用自:https://stackoverflow.com/questions/5119373