这意味着我没有用于创建模板的 HtmlHelper.
没关系,我不需要任何方法.
但我需要创建自己的方法,如BeginForm.
现在这些是用HTMLHelper.VIEwContext.Writer.Write完成的,我没有.
是否有“开箱即用”的方式,或者我必须在这里做一些魔术吗?
首先创建自己的助手:
public class RazorHTMLHelper{ public IEncodedString Partial(string vIEwname) { ITemplate template = RazorEngine.Razor.Resolve(vIEwname); ExecuteContext ec = new ExecuteContext(); RawString result = new RawString(template.Run(ec)); return result; }}public class RazorUrlHelper{ public string Encode(string url) { return System.Uri.EscapeUriString(url); }}
接下来创建自己的模板:
public class RazorTemplateBase<T> : TemplateBase<T>{ private RazorUrlHelper _urlHelper = new RazorUrlHelper(); private RazorHTMLHelper _HTMLHelper = new RazorHTMLHelper(); public RazorUrlHelper Url { get { return this._urlHelper; } } public RazorHTMLHelper HTML { get { return this._HTMLHelper; } }}
在解析之前设置TemplateServiceConfiguration:
Razor.SetTemplateService(new TemplateService( new TemplateServiceConfiguration() { BaseTemplateType = typeof(RazorTemplateBase<>) };));result = RazorEngine.Razor.Parse(templateText,model);
现在,RazorEngine在视图中提供了@ HTML.Partial()和@ Url.Encode().
总结以上是内存溢出为你收集整理的.net – 在RazorEngine中使用语句(没有来自MVC的HtmlHelper)全部内容,希望文章能够帮你解决.net – 在RazorEngine中使用语句(没有来自MVC的HtmlHelper)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)