【发布时间】:2013-10-24 17:58:35
【问题描述】:
这次遇到了客户端knockout.js的viewModel和服务端MVC的Model的映射问题。
所以重点是:
我有一个淘汰视图模型和其中的一些方法。
例如其中一个看起来像这样:
this.search = function () {
$.ajax({
url: "@Html.Raw(@Url.Action("Search"))",
type: 'POST',
beforeSend: function () {
},
complete: function () {
},
data: ko.toJSON(this),
cache: false,
contentType: false,
processData: false,
success: function (result) {
alert(result);
}
});
};
knockout viewModel 和 MVC 的 Model 字段相同,唯一的区别是每个字段的第一个字母:knockout 的字段以小写字母开头,MVC 的 Model 字段以大写字母开头,例如: someField - SomeField
因此,就我而言,我正在尝试使用上述搜索方法向服务器发布帖子。在这样做之前,我什至检查了 viewModel 是否有正确的数据,并且我成功地显示了 this.startDate() 但是当我将断点放在我的搜索操作的服务器端时,我可以看到我没有收到任何数据...... 这很奇怪。
最近我成功实现了一个使用knockout的项目,没有遇到这个问题。
我什至将 [Serializable] 放在服务器端 Model 的顶部,但没有结果。
请告知可能会对此产生什么影响,我该如何解决? 谢谢。
【问题讨论】:
标签: asp.net-mvc jquery knockout.js model-binding