Это поздний ответ, но если кто-нибудь, читающий этот вопрос, использует бритву, то вы должны помнить, что бритва кодирует все по умолчанию, , но, используя MvcHtmlString
в ваших html-помощниках, вы можете сказать бритве, что она не не нужно кодировать его .
Если вы хотите, чтобы бритва не кодировала строку, используйте
@Html.Raw("<span>hi</span>")
Декомпиляция Raw () показывает, что он упаковывает строку в HtmlString
public IHtmlString Raw(string value) {
return new HtmlString(value);
}
" HtmlString существует только в ASP.NET 4.
MvcHtmlString была оболочкой совместимости, добавленной в MVC 2 для поддержки .NET 3.5 и .NET 4. Теперь, когда MVC 3 является только .NET 4, это довольно тривиальный подкласс HtmlString, предположительно для MVC 2-> 3. для совместимости с источниками."
источник