Добавить комментарий - CodeHelper

Добавить комментарий

Строго типизированные HTML-хелперы. Кроме того, они теперь возвращают не String, а MvcHtmlString.

Updated:

Вот список:

 - DisplayFor()
 - DisplayTextFor()
 - EditorFor()
 - CheckBoxFor()
 - HiddenFor()
 - PasswordFor()
 - RadioButtonFor()
 - TextBoxFor()
 - LabelFor()
 - DropDownListFor()
 - ListBoxFor()
 - TemplateFor()
 - TextAreaFor()
 - ValidationMessageFor()

Как видно, все хелперы заканчиваются суффиксом For (хотя это и не является обязательным условием). Все они принимают в качестве аргумента объект типа Expression<Func<TModel, TValue>>. Т.е. лямбда-выражение, где TModel обычно представляет тип, которым строго типизирован View. Кроме того, некоторые хелперы принимают еще аргументы, специфичные для конкретного элемента (например IEnumerable<SelectListItem> для DropDownListFor())

Использование довольно просто:

Есть класс:

public class RegisterModel
{
    [DisplayName("User name")]
    public string UserName { get; set; }

    [DisplayName("Email address")]
    public string Email { get; set; }

    [DisplayName("Password")]
    public string Password { get; set; }

    [DisplayName("Confirm password")]
    public string ConfirmPassword { get; set; }
}

Далее в строго типизированном этим классом виде пишем:

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master"
         Inherits="System.Web.Mvc.ViewPage<MvcApplication2.Models.RegisterModel>" %>
    ...
    <%= Html.LabelFor(m => m.UserName) %>
    <%= Html.TextBoxFor(m => m.UserName) %>
    <%= Html.ValidationMessageFor(m => m.UserName) %>

Пример взят из создаваемого по-умолчанию проекта ASP.NET MVC 2 (с некоторыми упрощениями)

Внимание! Вы собираетесь отправить информацию от имени анонимного пользователя.
v1.7.123.556
© 2009—2010 CodeHelper FAQ | О сайте | Обратная связь | История изменений | Статьи
Creative Commons LicenseМатериалы сайта распространяются под лицензией Creative Commons Attribution-Share Alike 3.0 Unported.