Html.Textbox VS Html.TextboxFor


Відповіді:


117

Зрештою, вони виробляють один і той же HTML, але Html.TextBoxFor () сильно набраний там, де Html.TextBox не є.

1:  @Html.TextBox("Name")
2:  Html.TextBoxFor(m => m.Name)

буде виробляти

<input id="Name" name="Name" type="text" />

То що це означає з точки зору використання?

Як правило, дві речі:

  1. Введений TextBoxForгенерує ваші введені імена для вас. Зазвичай це лише ім'я властивості, але для властивостей складних типів може містити підкреслення, наприклад "ім'я_користувача"
  2. Використання набраної TextBoxForверсії дозволить вам використовувати перевірку часу компіляції. Отже, якщо ви зміните модель, ви зможете перевірити, чи немає помилок у ваших поданнях.

Як правило, найкращою практикою є використання сильно типізованих версій HtmlHelpers, доданих у MVC2 .


16

Це TextBoxForнове розширення на вході MVC, введене в MVC2.

Основна перевага нових сильно набраних розширень полягає в тому, щоб показати будь-які помилки / попередження під час компіляції, а не під час виконання.

Дивіться цю сторінку.

http://weblogs.asp.net/scottgu/archive/2010/01/10/asp-net-mvc-2-strongly-typed-html-helpers.aspx


7

Основна відмінність IMO полягає в тому, що Textbox не набраний сильно. TextboxДля того, щоб взяти лямбда як параметр, який повідомляє помічникові елемент із елементом моделі використовувати в набраному вигляді.

Ви можете робити те саме, що і з обома, але слід використовувати введені подання та TextboxFor, коли це можливо.


3

Html.TextBox amd Html.DropDownList не набрані сильно, а значить, вони не потребують сильно набраного перегляду. Це означає, що ми можемо жорстко кодувати будь-яке ім’я. З іншого боку, Html.TextBoxFor і Html.DropDownListFor сильно набрані і потребують сильно набраного перегляду, а ім'я походить від виразу лямбда.

Сильно набрані HTML-помічники також забезпечують перевірку часу компіляції.

Оскільки в реальному часі ми в основному використовуємо сильно набрані перегляди, вважаємо за краще використовувати Html.TextBoxFor та Html.DropDownListFor для своїх аналогів.

Ми використовуємо Html.TextBox & Html.DropDownList АБО Html.TextBoxFor & Html.DropDownListДля кінцевого результату той самий, тобто вони виробляють той самий HTML.

Сильно набрані HTML-помічники додаються у MVC2.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.