.NET Razor引擎 - 实现布局

Rop*_*tah 16 .net razor

我正在使用以下代码片段在我的解决方案中启用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;
Run Code Online (Sandbox Code Playgroud)

我可以想象Layout在我RazorTemplateBase班上有财产.但是之后?我理解这Html.Partial是一个帮助函数,我可以实现解析模板.但是,如何解析这些方法调用renderBody()renderSection()接受其他Razor视图?

mar*_*rto 6

我目前正在做一些非常相似的事情.它是一个基于Nancy的前端模板框架.我扩展了Phil Haack 的Nancy's Razor实现.我设法让Partials,Templated Helpers和Layouts工作.

为了呈现布局,我有一个Layout属性,在布局中我有一个内容占位符"{{content}}".因此,当我在设置Layout属性时渲染视图时,我渲染布局,然后替换内容占位符.

该项目名为Appia.看一下示例视图.

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