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

RazorEngine: нельзя использовать Html.Raw

using RazorEngine вне asp.net Я испытываю эту ошибку, когда я пытаюсь написать raw html с помощью @Html.Raw("html string here"):

Невозможно скомпилировать шаблон. Имя "Html" не существует в текущем контексте

Можете ли вы мне помочь?

Спасибо!

4b9b3361

Ответ 1

Решение найдено здесь: https://github.com/Antaris/RazorEngine/issues/34

Достаточно использовать @(new RawString("html string here")) или @Raw("html string here") вместо @Html.Raw("html string here").

Надеюсь, это поможет! Bye

Ответ 2

Я реализовал свой собственный Raw, результат которого реализует как IHtmlString, так и IEncodedString... и это сработало!:)

In my csthml:
@MyRazorParser.Raw("<b>Testing</b>")

Это работает как при использовании MVC, так и при использовании анализатора RazorEngine.

public class MyRawResult : RazorEngine.Text.IEncodedString, System.Web.IHtmlString
{
    public string Value;
    public MyRawResult(string value) { Value = value; }
    public string ToEncodedString()
    {
        return Value;
    }

    public string ToHtmlString()
    {
        return Value;
    }

    public override string ToString()
    {
        return Value;
    }
}

public static class MyRazorParser
{
    public static object Raw(string str)
    {
        return new MyRawResult(str);
    }
}