.NET Razor Engine-如何实现布局?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (20)

我正在使用下面的代码片段来启用我的解决方案中的Razor模板(ASP.NET MVC3之外)。是否可以轻松实现布局?

背景信息:

我在这里(模板被编译成compiledTemplateAssembly):

var template = (RazorTemplateBase<TModel>) compiledTemplateAssembly.
    CreateInstance("RazorSpace." + entry.TemplateName + "Template");
template.Model = model;
template.Execute();
var output = template.Buffer.ToString();
template.Buffer.Clear();
return output;

我可以想象Layout我的RazorTemplateBase班上有一个属性。但是之后?我明白这Html.Partial是一个辅助函数,我可以用它来解析一个模板。但是,我如何解析这些方法调用renderBody()renderSection()接受其他Razor视图?

提问于
用户回答回答于

我目前正在研究一些非常相似的东西。它是基于Nancy的前端模板框架。我扩展了Nancy's Razor实施。我设法使Partial,模板帮助者和布局工作。

为了渲染布局,我有一个布局属性,布局中有一个内容占位符“{{content}}”。所以当我渲染视图,如果布局属性设置我渲染布局,然后替换内容占位符。

该项目被称为Appia。看看示例视图

这是我的baseView实现 baseView实现,这里是视图引擎代码。它从MVC Razor实现中借鉴了很多,并且还有一些Nancy特有的东西,但要弄清楚发生了什么并不难。

扫码关注云+社区