I am using razor engine to parse .cshtml files. I am trying to change the base template file to System.Web.WebPages.WebPageBase. I have found out that razor engine has this thing where I can set the base template
config.BaseTemplateType = typeof(MyCustomTemplateBase<>);
The issue is that I can't set it directly to System.Web.WebPages.WebPageBase. So I have to make my own custom template base which is like this
public abstract class MyCustomTemplateBase<T> : WebPageRenderingBase
{
public override abstract HelperResult RenderPage(string path, params object[] data);
}
I only want RenderPage function but when I run the app it gives me these erros
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
You probably want to extend the RazorEngine TemplateBase<T>
classes instead of WebPageRenderingBase
.
See https://antaris.github.io/RazorEngine/TemplateBasics.html#Extending-the-template-Syntax for details.
The problem is that RazorEngine expects "its" own interface and doesn't depend on System.Web.
matthid, a RazorEngine contributor.