Чим відрізняється Html.Textbox від Html.TextboxFor?
Чим відрізняється Html.Textbox від Html.TextboxFor?
Відповіді:
Зрештою, вони виробляють один і той же HTML, але Html.TextBoxFor () сильно набраний там, де Html.TextBox не є.
1: @Html.TextBox("Name")
2: Html.TextBoxFor(m => m.Name)
буде виробляти
<input id="Name" name="Name" type="text" />
То що це означає з точки зору використання?
Як правило, дві речі:
TextBoxFor
генерує ваші введені імена для вас. Зазвичай це лише ім'я властивості, але для властивостей складних типів може містити підкреслення, наприклад "ім'я_користувача"TextBoxFor
версії дозволить вам використовувати перевірку часу компіляції. Отже, якщо ви зміните модель, ви зможете перевірити, чи немає помилок у ваших поданнях.Як правило, найкращою практикою є використання сильно типізованих версій HtmlHelpers, доданих у MVC2 .
Це TextBoxFor
нове розширення на вході MVC, введене в MVC2.
Основна перевага нових сильно набраних розширень полягає в тому, щоб показати будь-які помилки / попередження під час компіляції, а не під час виконання.
Дивіться цю сторінку.
http://weblogs.asp.net/scottgu/archive/2010/01/10/asp-net-mvc-2-strongly-typed-html-helpers.aspx
Основна відмінність IMO полягає в тому, що Textbox не набраний сильно. TextboxДля того, щоб взяти лямбда як параметр, який повідомляє помічникові елемент із елементом моделі використовувати в набраному вигляді.
Ви можете робити те саме, що і з обома, але слід використовувати введені подання та TextboxFor, коли це можливо.
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.