数据未与挖空绑定
本文关键字:绑定 数据 | 更新日期: 2023-09-27 18:32:46
我正在使用 ajax 调用 MVC 6 操作并取回数据,但无法获取我的第一个 Knockout 片段将值绑定到我的 HTML 控件。下面是 C# 中的模型:
public class PrimaryCare
{
public string Tab1Name { get; set; }
public string Tab2Name { get; set; }
public List<PrimaryCareProvider> PrimaryCareProviders { get; set; }
}
现在,我只是想让选项卡名称工作,所以忽略第三个属性。我正在使用:
return Json(populatedObject, JsonRequestBehavior.AllowGet);
在 MVC 操作中。正如我所说,我正在获取 ajax 调用中的所有数据,如下所示:
function LoadPageData() {
$.ajax({
url: "/Default/GetPrimaryCareData",
dataType: "json",
method: "GET"
}).
done(function(data) {
var viewModel = {};
viewModel = ko.mapping.fromJSON(data);
ko.applyBindings(viewModel);
}).
fail(function(jqXhr, textStatus) {
alert(JSON.stringify(jqXhr));
});
}
我在页面加载时调用它,我肯定会从操作中获取数据。正在调用"完成"回调。只是 KO 绑定不起作用。我已经尝试了各种各样的事情,但这就是我目前所拥有的(上图)。这是相应的 HTML(我正在尝试设置 Bootstrap 选项卡名称):
<ul class="nav nav-tabs">
<li class="active">
<a data-toggle="tab" href="#tab1"><span data-bind="text:Tab1Name"></span></a>
</li>
<li>
<a data-toggle="tab" href="#tab2"><span data-bind="text:Tab2Name"></span></a>
</li>
</ul>
未填充任何值。有什么想法吗?
谢谢杰
既然你已经告诉jQuery数据类型是JSON,jQuery已经为你调用了JSON.parse
,所以你传递给ko.mapping
的数据不再是JSON。 请尝试ko.mapping.fromJS(data)
。