2010-11-02 66 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。