Вопрос

Существуют ли существующие HTMLHELPERS с помощью Razor? Если это так, делает бритву что-нибудь о дизайне или использовании HTMLHELPERS?

Спасибо

Это было полезно?

Решение

Да, существующие помощники отлично работают в порядке с бритвой. Например:

@Html.ActionLink("foo bar", "foo")

Какие изменения бритвы состоит в том, что теперь у вас есть возможность определить встроенные помощники, как это:

@helper FooBar(string foo)
{
    <div>Hello @foo</div>
}

И использовать так:

@FooBar("World")

Насколько классика HTML-помощники обеспокоены, бритва ничего не меняется, это просто двигатель View, поэтому вы продолжаете писать свои помощники, как вы всегда делали:

public static class HtmlExtensions
{
    public static MvcHtmlString FooBar(this HtmlHelper htmlHelper, string value)
    {
        var builder = new TagBuilder("div");
        div.SetInnerText(value);
        return MvcHtmlString.Create(div.ToString());
    }
}

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

@Html.FooBar("some value")

Другие советы

Razor выполняет HTML кодировку по умолчанию.

Так что если какой-либо из ваших HTMLHELPERS MVC2 выделяет разметку, они могут не работать, если они возвращаются String вместо MvcHtmlString.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top