【发布时间】:2016-12-16 15:25:38
【问题描述】:
我确定这是一个简单的解决方法,但我正在努力解决这个问题。
下面是代码的主要部分。
JS
//Viewmodel
var PurchaseOrderModel = function () {
var self = this;
self.OrderNumber = ko.observable();
self.Description = ko.observable();
self.GetPurchaseOrder = function(Id) {
//
$.ajax({
type: "GET",
url: 'URL' + Id,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
self.OrderNumber = ko.observable(data.OrderNumber);
self.Description = ko.observable(data.Description);
},
error: function (err) {
alert(err.status + " : " + err.statusText);
}
});
}
}
//DOM Loaded
$(document).ready(function () {
var po = new PurchaseOrderModel();
ko.applyBindings(po);
po.GetPurchaseOrder(124028);
});
HTML
<div>
<input id="test" type="text" data-bind="value: OrderNumber">
<input type="text" data-bind="value: Description">
<p type="text" data-bind="text: OrderNumber"></p>
</div>
控制器
return Json(new
{
OrderNumber = model.OrderNumber,
Description = model.Description
}, JsonRequestBehavior.AllowGet);
这是我在检查器“网络”选项卡中看到的内容
{"OrderNumber":115548,"Description":"Test"}
所以数据正在返回,我只是想知道为什么 UI 没有正确捕获/绑定。
感谢任何见解!
【问题讨论】:
标签: asp.net knockout.js