Pomocnicy RazorEngine @Html działają, ale uciekają od HTML

Używam RazorEngine do analizowania szablonów z fragmentów HTML na stronie internetowej. (Jest to dotychczasowy system, w którym przełączanie na widoki maszynki Mvc nie jest możliwe, więc przełączamy małe sekcje na RazorEngine, gdzie to ma sens). Istnieje wiele pytań dotyczących SO i Internetu, które próbują zmusić pomocników HTML i Url Mvc do pracy z silnikiem Razor. Zdobyć@Html do pracy, zmodyfikowałem znaleziony kodtutaj aby dodać HTML do szablonu bazowego:

public HtmlHelper<t> Html
{
    get
    {
        if (helper == null) 
        {           
            var writer = this.CurrentWriter; //TemplateBase.CurrentWriter
            var vcontext = new ViewContext() { Writer = writer, ViewData = this.ViewData};

            helper = new HtmlHelper<t>(vcontext, this);
        }
        return helper;
    }
}
public ViewDataDictionary ViewData
{
    get
    {
        if (viewdata == null)
        {

            viewdata = new ViewDataDictionary();
            viewdata.TemplateInfo = new TemplateInfo() { HtmlFieldPrefix = string.Empty };

            if (this.Model != null)
            {
                viewdata.Model = Model;
            }

        }

    return viewdata;
    }
    set
    {
        viewdata = value;
    }
}

Po wielu debugowaniach w kodzie źródłowym HTML myślę, że udało mi się stworzyć instancję wszystkiego, czego potrzebuje pomocnik HTML, i działa z powodzeniem dla@Html.Label... Problem polega na tym, że wynikowy HTML to:

&lt;label for=&quot;MyNumber&quot;&gt;MyNumber&lt;/label&gt;

Kiedy to powinno być:

<label for="MyNumber">MyNumber</label>

Jestem zakłopotany co do tego, jak to naprawić. Nie udało mi się znaleźć sposobu kodowania podczas przeglądania źródła RazorEngine. Początkowo uważałem, że TextWriter musi kodować wartość, ale nie byłem w stanie tego potwierdzić. Jak mogę zdobyć@Html.BlahFor() renderować html bez ucieczki?

questionAnswers(3)

yourAnswerToTheQuestion