asp.netの外部でRazorEngineを使用する@Html.Raw("html string here")
を使用して生のhtmlを書き込もうとすると、このエラーが発生します。
テンプレートをコンパイルできません。 「Html」という名前は現在のコンテキストには存在しません
手伝って頂けますか?
ありがとう!
解決策はここにあります: https://github.com/Antaris/RazorEngine/issues/34
@(new RawString("html string here"))
の代わりに@Raw("html string here")
または@Html.Raw("html string here")
を使用するだけで十分です。
これがお役に立てば幸いです。さようなら
結果がIHtmlStringとIEncodedStringの両方を実装する独自のRawを実装しました...そしてそれは機能しました! :)
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);
}
}