【问题标题】:possible for asp.net mvc 2 to render views as jquery-tmpl templates?asp.net mvc 2 可以将视图呈现为 jquery-tmpl 模板吗?
【发布时间】:2010-11-02 17:48:50
【问题描述】:

我喜欢 MS 开发的新 jQuery 插件、模板和数据链接的想法,并且实际上在我的日常工作中需要它们可能被证明是有价值的。问题是,我需要模板化的 html 是非平凡的 html,它通过 MVC 2 框架利用内置和自定义 Html 帮助器方法。此外,还有基于绑定 ViewModel 值的条件渲染。

我可以将渲染逻辑从 MVC 视图语法忠实地复制到 jquery-tmpl 语法,这将包括从使用的 MVC 辅助函数中找出所有生成的 HTML。然而,这既乏味又耗时。更不用说其他问题,例如服务器端和客户端验证以及其他 HTML 帮助函数,例如 AntiForgeryToken(),尽管通过限制 jquery-tmpl 的使用可能会避开这些问题。

我想知道,我们是否可以利用 MVC 部分视图已经定义的逻辑和结构,让它呈现一个 jquery-tmpl 模板而不是直接的 HTML? 乍一看,它会出现将 MVC 视图语法转换为 jQuery-tmpl 语法,保留所有循环、条件等。

这甚至可能吗?我不完全了解 MVC 框架,但知道它提供了很好的可扩展性。如果弄清楚这种情况似乎很有价值,是吗?或者我什至在想这个?有什么想法或建议吗?

【问题讨论】:

  • 这种功能太棒了!
  • 我对这个想法很感兴趣……我自己也想过。您能否发布更多关于您设想它如何工作的信息?也许一些代码和不同的路径流用于正常的 html 渲染和 jquery-tmpl 渲染......?库尔。

标签: jquery asp.net-mvc asp.net-mvc-2 jquery-templates


【解决方案1】:

似乎您可能希望将其实现为自定义 ViewEngine。 ViewEngines 在 MVC 中是可插入的。一个 JQuery-Tmpl ViewEngine 可能只会与服务器说 JSON。模板标记的 Blob 也可以作为响应消息中的子属性值呈现给 ViewEngine。然后 ViewEngine 的工作就是渲染模板并将它们放入区域目标等。听起来非常熟悉.. ;)

【讨论】:

  • 控制器可以按需交换 ViewEngines 吗?自定义 ViewEngine 是我的第一个想法,但我不确定它们的使用有多灵活。我很确定您可以在每个控制器的基础上关联不同的 ViewEngine,但我们希望即使在控制器内也具有灵活性,不是吗?
【解决方案2】:

MVC 3 允许您在同一个站点中使用多个 ViewEngine。

【讨论】:

    猜你喜欢
    • 2011-08-18
    • 1970-01-01
    • 2011-01-28
    • 1970-01-01
    • 1970-01-01
    • 2016-10-10
    相关资源
    最近更新 更多