NRE при использовании Html.Encode в @helper - PullRequest
1 голос
/ 06 марта 2011

При вызове этого помощника из другого cshtml я получаю исключение нулевого указателя в строке кодирования.

@helper ShowDefinitionText(String text)
{    
    <b>Definition:</b>
    <p>
    @Html.Encode("dogs")
    </p>
}

Разве не законно использовать Html. * Из помощника?

Спасибо.

1 Ответ

4 голосов
/ 06 марта 2011

Вам нужно передать его в качестве аргумента:

@helper ShowDefinitionText(String text, HtmlHelper htmlHelper)
{    
    <b>Definition:</b>
    <p>
        @htmlHelper.Encode("dogs")
    </p>
}

и при вызове помощника из представления укажите допустимый экземпляр:

@ShowDefinitionText("some text", Html)

Также, если вы собираетесь только кодировать HTML, вам, вероятно, не нужен помощник, поскольку оператор @ Razor уже делает это:

@helper ShowDefinitionText(String text)
{    
    <b>Definition:</b>
    <p>
        @text
    </p>
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...