2010-11-02 67 views
8

我喜欢新开发的MS开发的jQuery插件Templates和DataLinking,并且实际上在我的日常工作中需要他们可能证明有价值的东西。事情是,我需要模板的HTML是非平凡的HTML,它通过MVC 2框架利用内置的和自定义的Html帮助器方法。此外,还有基于绑定ViewModel值的条件渲染。可能为asp.net mvc 2呈现为jquery-tmpl模板的视图?

我可以从MVC视图语法忠实地再现呈现逻辑到jquery-tmpl语法,这将包括从使用的MVC帮助器函数中计算出所有生成的HTML。但是,这既乏味又费时。更不用说其他问题,例如服务器端&客户端验证和其他HTML帮助函数(例如AntiForgeryToken()),尽管这样的担心可能会因为限制jquery-tmpl的使用而变得明显。

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

这甚至可能吗?我并不了解MVC框架,但确实知道它提供了很好的可扩展性。这种情况似乎可能是有价值的,如果想通了,是吗?或者我甚至认为这是基于外部的?任何想法或建议?

+0

这种功能会很棒! – jfar 2010-11-02 17:57:09

+0

我对这个想法很感兴趣......我自己也想过。你可能会发布一些关于你如何设想它工作的更多信息?也许一些代码和不同的路径流为正常的HTML渲染和jquery-tmpl渲染......?库尔。 – Charlino 2010-11-03 16:29:28

回答

1

好像你可能想要实现这个自定义的ViewEngine。 ViewEngines可在MVC中插入。一个JQuery-Tmpl ViewEngine可能只会与服务器说JSON。模板标记的斑点也可以作为响应消息中的子属性的值呈现给ViewEngine。这将是ViewEngine渲染模板并将它们放入区域目标等等的工作。听起来令人不敢相信......;)

+0

控制器可以将ViewEngines点播吗?自定义ViewEngine是我的第一个想法,但我不确定它们的使用有多灵活。我很肯定你可以在每个控制器的基础上关联不同的ViewEngines,但是我们希望在Controller中拥有灵活性,对吗? – kdawg 2010-11-03 22:01:32

0

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