开发者

difference between Html.TextBox and Html.TextBoxFor

What is the difference between Html.TextBox and Html.TextBoxFor? As far as I know they produce same html output. Unless I开发者_如何学Go'm missing something here. Please help me with this.


Html.TextBox is not strongly typed and it doesn't require a strongly typed view meaning that you can hardcode whatever name you want as first argument and provide it a value:

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

You can set some value in the ViewData dictionary inside the controller action and the helper will use this value when rendering the textbox (ViewData["foo"] = "bar").

Html.TextBoxFor is requires a strongly typed view and uses the view model:

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

The helper will use the lambda expression to infer the name and the value of the view model passed to the view.

And because it is a good practice to use strongly typed views and view models you should always use the Html.TextBoxFor helper.


Strongly typed extensions is to show any errors or warnings at compile time rather than run time. Please see this page, it will clarify all your doubts

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜