我使用RazorEngine 3(Antares fork https://github.com/Antaris/RazorEngine)来生成Razor视图的电子邮件,并拥有一个&#39; base&#39;查看扩展名为TemplateBase<T>
的{{1}}的类。
视图目录中的web.config已正确设置基本类型:
EmailTemplateBase<T>
我还可以在重新启动Visual Studio(2012)后确认可以通过IntelliSense访问<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="EmailTemplateBase`1[[EmailModelBase]]">
...
上定义的属性。问题是通过IntelliSense无法访问在其基类(TemplateBase)上定义的公共属性,特别是EmailTemplateBase<T>
和_Layout
。
在Model
中复制这些属性有效:
EmailTemplateBase<T>
但是,我不应该这样做。当然必须有更好的方法吗?为什么Visual Studio的Razor代码编辑器不能看到基类的属性?