Подтвердить что ты не робот

Почему мой пользовательский результат HTML Helper получает кодировку html?

У меня есть следующий пользовательский html-помощник в asp.net mvc 3

public static string RegisterJS(this HtmlHelper helper, ScriptLibrary scriptLib)
{
   return "<script type=\"text/javascript\"></script>\r\n";
}

Проблема заключается в том, что в результате получается html-кодирование таким образом (мне пришлось добавить пробелы, чтобы получить результат, чтобы правильно показать результат:

   &lt;script type=&quot;text/javascript&quot;&gt;&lt;/script&gt;

Это, очевидно, не очень помогает мне. Ничто из того, что я читал, ничего не говорит об этом.. любые мысли о том, как я могу вернуть свой реальный результат?

4b9b3361

Ответ 1

Вы вызываете помощника в блоке Razor @ или блоке ASPX <%: %>.
Эти конструкции автоматически выходят за пределы их вывода.

Вам нужно изменить помощника, чтобы вернуть HtmlString, который не будет экранирован:

return new HtmlString("<script ...");