使用RazorEngine时添加名称空间

时间:2017-03-03 17:07:14

标签: c# asp.net-mvc razorengine

我目前正在使用RazorEngine库来创建HTML电子邮件模板。代码:

var result = Engine.Razor.RunCompile(File.ReadAllText(templateFilePath), key, typeof(T), data);

在模板本身中,我希望能够访问MVC提供的一些辅助方法,即@Html.Format(string string);

但是,每当我在模板中添加所述代码行时:

  

编译模板时出错。   请尝试以下方法解决问题:*如果问题是   关于缺失/无效的引用或多个定义要么尝试   加载       手动丢失的引用(在编译appdomain中!)或       通过提供自己的IReferenceResolver实现手动指定引用。       有关详细信息,请参阅https://antaris.github.io/RazorEngine/ReferenceResolver.html。       目前所有参考文献都必须作为文件提供! *如果你上课了#39;不包含'成员的定义':           尝试另一个modelType(例如' null'使模型动态化)。           注意:您不能使用typeof(动态)使模型动态化!       或者尝试使用静态而不是匿名/动态类型。有关错误的更多详细信息:     - 错误:(180,97)名称' Html'在当前上下文中不存在

这解释了我需要引用正确的命名空间。问题是,我参考什么,在哪里?

1 个答案:

答案 0 :(得分:0)

您是否在System.Web.Mvc中寻找HtmlHelper?

参考:hibernate locking