在asp.net外部使用RazorEngine当我尝试使用@Html.Raw("html string here")
编写原始html时遇到此错误:
无法编译模板。名称' Html'在当前上下文中不存在
你能帮助我吗?
谢谢!
答案 0 :(得分:22)
此处找到了解决方案:https://github.com/Antaris/RazorEngine/issues/34
使用@(new RawString("html string here"))
或@Raw("html string here")
代替@Html.Raw("html string here")
就足够了。
我希望这有帮助! 再见
答案 1 :(得分:4)
我实现了我自己的Raw,其结果同时实现了IHtmlString和IEncodedString ......它有效! :)
In my csthml:
@MyRazorParser.Raw("<b>Testing</b>")
当RazorEngine解析器使用它时,MVC使用和时,这都适用。
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);
}
}