2013-03-12 95 views
0

更換DisplayTemplate目前我使用的是DisplayTemplate展示我的模型的屬性:與淘汰賽結合

@Html.DisplayFor(m => m.TheProperty, "myTemplate") 

模板輸出的圖像,其來源取決於模型是否在HTML(利人)是無論是否爲空。

現在,我用我的視圖替換所有綁定與敲除綁定。所以看來我不能再使用DisplayTemplates了,對嗎?如何將模板傳遞給模型,因爲現在控件綁定到js ViewModel?

+0

服務器端MVC和客戶端MVVM是完全兩個單獨的東西,你必須使用JSON服務將所有模型移動到客戶端。 – Anders 2013-03-13 09:32:02

+0

是的,我已經這麼做了。我正在使用knockout將MVC模型映射到MVVM模型。現在我的問題什麼是最好的方式來取代我的舉行DisplayTemplates等同的東西? – Sam 2013-03-13 09:35:57

回答

0

在KO相當於將模板結合,它的語法不是很好但是,它像

<div data-bind="template: { name: 'display-for-my-property', data: myProperty }"></div> 

顯示換我的屬性是一個腳本標籤的ID與模板myProperty的

正如你可以看到這是synstax相當混亂,我已經作出了自己的庫,解決了這個

https://github.com/AndersMalmgren/Knockout.BindingConventions

用我的lib相同的情況下會是什麼樣子

<div data-name="myProperty"></div> 

http://jsfiddle.net/xJL7u/

你可以延長我的lib所以你可以做

<div data-display="myProperty"></div> 

而且

<div data-editor="myProperty"></div>