我正处于构建渲染框架的阶段,该渲染框架用于以不同格式渲染模型。
我的想法如下:
public class ResidenceRendererShort : IRender<Residence> {
public string Format() {
return "short";
}
public string Render(Residence content) {
return content.Name; // Could return a whole lot of HTML
}
}
我可以使用多种格式,将它们全部使用Ninject DI注入到我的RenderingService中,在这里我可以找到使用正确方法进行渲染的方法,例如 FindRendererFor(Type type, string format)
现在我的问题是,如何在razor中创建一个将使用渲染服务并应用正确渲染的标签?我一直在研究HtmlHelpers
,但是它们是静态方法,因此无法RenderingService
对此进行介绍。
我以为我可以创建类似的东西:
@Model my.namespace.Residence
@Html.RenderObject(Model, "short");
我是否缺少某些东西,或者有人对如何完成此操作有想法?
你是在自杀 只需使用显示/编辑器模板。在这种情况下,如果您在类中有一个视图~/Views/Shared/DisplayTemplates
或~/Views/Shared/EditorTemplates
以该类命名Residence.cshtml
,则Razor会在每次将类传递给Html.DisplayFor
或时使用此视图来呈现您的类Html.EditorFor
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句