2013-03-12 99 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>