我正在使用razor引擎来解析.cshtml文件。我正在尝试将基本模板文件更改为 System.Web.WebPages.WebPageBase 。我发现剃刀引擎有这个东西我可以设置基本模板
config.BaseTemplateType = typeof(MyCustomTemplateBase<>);
问题在于我无法将其直接设置为 System.Web.WebPages.WebPageBase 。所以我必须制作我自己的自定义模板库,就像这样
public abstract class MyCustomTemplateBase<T> : WebPageRenderingBase
{
public override abstract HelperResult RenderPage(string path, params object[] data);
}
我只想要RenderPage功能但是当我运行应用程序时它会给我这些错误
error: (25, 18) 'CompiledRazorTemplates.Dynamic.RazorEngine_e15164c444b34d6d84d05aef3c711cff' does not implement inherited abstract member 'CordovaBuild.MyCustomTemplateBase<dynamic>.RenderPage(string, params object[])'
- error: (25, 18) 'CompiledRazorTemplates.Dynamic.RazorEngine_e15164c444b34d6d84d05aef3c711cff' does not implement inherited abstract member 'System.Web.WebPages.WebPageRenderingBase.Layout.get'
- error: (25, 18) 'CompiledRazorTemplates.Dynamic.RazorEngine_e15164c444b34d6d84d05aef3c711cff' does not implement inherited abstract member 'System.Web.WebPages.WebPageRenderingBase.Layout.set'
- error: (25, 18) 'CompiledRazorTemplates.Dynamic.RazorEngine_e15164c444b34d6d84d05aef3c711cff' does not implement inherited abstract member 'System.Web.WebPages.WebPageRenderingBase.PageData.get'
- error: (25, 18) 'CompiledRazorTemplates.Dynamic.RazorEngine_e15164c444b34d6d84d05aef3c711cff' does not implement inherited abstract member 'System.Web.WebPages.WebPageRenderingBase.Page.get'
- error: (25, 18) 'CompiledRazorTemplates.Dynamic.RazorEngine_e15164c444b34d6d84d05aef3c711cff' does not implement inherited abstract member 'System.Web.WebPages.WebPageRenderingBase.ExecutePageHierarchy()'
- error: (25, 18) 'CompiledRazorTemplates.Dynamic.RazorEngine_e15164c444b34d6d84d05aef3c711cff' does not implement inherited abstract member 'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)'
- error: (25, 18) 'CompiledRazorTemplates.Dynamic.RazorEngine_e15164c444b34d6d84d05aef3c711cff' does not implement inherited abstract member 'System.Web.WebPages.WebPageExecutingBase.Write(object)'
- error: (25, 18) 'CompiledRazorTemplates.Dynamic.RazorEngine_e15164c444b34d6d84d05aef3c711cff' does not implement inherited abstract member 'System.Web.WebPages.WebPageExecutingBase.WriteLiteral
答案 0 :(得分:2)
您可能希望扩展RazorEngine TemplateBase<T>
类而不是WebPageRenderingBase
。
有关详细信息,请参阅https://antaris.github.io/RazorEngine/TemplateBasics.html#Extending-the-template-Syntax。
问题在于RazorEngine期望“它”自己的界面并且不依赖于System.Web。
matthid,RazorEngine的贡献者。