Можно ли вернуть незашифрованную / неэкранированную / необработанную строку из MVC 3 Razor HtmlHelper? - PullRequest
1 голос
/ 18 июня 2011

Я создал метод HtmlHelper Extension, который возвращает закодированную строку. Я пытался возвратить IHtmlString и MvcHtmlString, но не могу получить строку без кода / без экранирования?

Я пытаюсь уменьшитькод, поэтому мне не нужно Html.Raw() в данном конкретном случае.

ОБНОВЛЕНИЕ

Это интересный.Я новичок в Razor, поэтому добавил нужный метод к базовому классу WebViewPage, который явно не работал, а затем создал метод в классе HtmlHelperExtension.

В представлении, которое у меня было @MyMethod(), которое былоработа и рендеринг некодированного html.

Я только заметил, что пропустил бит "Html." после просмотра ответа Дарина Димитрова, поэтому добавил Html. и удалил метод из WebViewPage класс, который исправляет существующий HtmlHelper, который у меня был.

1 Ответ

8 голосов
/ 18 июня 2011

IHtmlString должен выполнить работу:

public static class HtmlExtensions
{
    public static IHtmlString Foo(this HtmlHelper html)
    {
        return MvcHtmlString.Create("<a href=\"http://www.google.com\">Google</a>");
    }
}

и в вашем представлении бритвы:

@Html.Foo()

приведет к получению html:

<a href="http://www.google.com">Google</a>

, который не закодирован.

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