Разница между Html.TextBox и Html.TextBoxFor - PullRequest
12 голосов
/ 25 февраля 2011

В чем разница между Html.TextBox и Html.TextBoxFor?Насколько я знаю, они производят одинаковый HTML-вывод.Если я не пропустил что-то здесь.Пожалуйста, помогите мне с этим.

Ответы [ 2 ]

21 голосов
/ 25 февраля 2011

Html.TextBox не является строго типизированным и не требует строго типизированного представления, что означает, что вы можете жестко закодировать любое имя, которое вы хотите в качестве первого аргумента, и предоставить ему значение:

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

Вы можете установить некоторое значение в словаре ViewData внутри действия контроллера, и помощник будет использовать это значение при рендеринге текстового поля (ViewData["foo"] = "bar").

Html.TextBoxFor требует строго типизированного представления и использует модель представления:

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

Помощник будет использовать лямбда-выражение для вывода имени и значения модели представления, передаваемого в представление.

И поскольку рекомендуется использовать строго типизированные представления и модели представлений, всегда следует использовать помощник Html.TextBoxFor.

0 голосов
/ 28 сентября 2016

Строго типизированные расширения должны показывать любые ошибки или предупреждения во время компиляции, а не во время выполнения. Пожалуйста, смотрите эту страницу, она прояснит все ваши сомнения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...