2014-05-12 13 views
14

utilizzando RazorEngine fuori asp.net sto vivendo questo errore quando provo a scrivere codice HTML grezzo utilizzando @Html.Raw("html string here"):RazorEngine: non può usare Html.Raw

impossibile compilare modello. Il nome "Html" non esiste nel contesto attuale

Potete aiutarmi?

Grazie!

+1

Perché questo down down? Questa domanda mi ha aiutato. –

+1

Probabilmente perché la gente si aspetta che sia una domanda standard per il rasoio, non il motore. – Spaceman

risposta

4

Ho implementato il mio Raw il cui risultato implementa sia IHtmlString che IEncodedString ... e ha funzionato! :)

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

Questo funziona sia quando MVC usa e quando il parser RazorEngine lo utilizza.

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); 
    } 
} 
Problemi correlati