Knockout.js和MVC

And*_*son 23 c# html-helper asp.net-mvc-2 knockout.js

刚开始玩knockout.Js这是一个很棒的框架史蒂夫真的很好用这个.我现在似乎无法做的一件事就是用我的Html Helpers来表达它.所以对于exmaple我有:

 <%: Html.TextBoxFor(model => model.Division) %>
Run Code Online (Sandbox Code Playgroud)

但是我会在那上面使用数据绑定,但是在那一刻我无法将"数据绑定"属性放入帮助程序中.我之前使用过@class,Id等属性,但是由于 - 任何想法,这个都很棘手.我试过:

<%: Html.TextBoxFor(model => model.SupplierName, new { data-bind = "SupplierName"}) %>
Run Code Online (Sandbox Code Playgroud)

 <%: Html.TextBoxFor(model => model.SupplierName, new { "data-bind"" = "SupplierName"}) %>
Run Code Online (Sandbox Code Playgroud)

但没有快乐.我们大量使用编辑器和文本框帮助器,我真的很想将它们整合到项目中,并将其淘汰.

任何有用的帮助

Tim*_*Tim 32

这应该工作:

<%: Html.TextBoxFor(model => model.SupplierName, new { data_bind = "SupplierName"}) %>
Run Code Online (Sandbox Code Playgroud)

变量名称不能包含连字符( - )但如果在HTML属性中使用下划线(_),则在"渲染"时它会自动转换为连字符.

  • 表达式应该是新的{data_bind ="value:SupplierName"} (5认同)

Rob*_*nik 16

您可以将属性提供为匿名对象或字典.在这种特殊情况下,应使用字典:

<%: Html.TextBoxFor(m => m.SupplierName, new Dictionary<string, object> { { "data-bind", "SupplierName" } }) %>
Run Code Online (Sandbox Code Playgroud)