我正在调用一个使用以下Action
返回JSON对象的操作public async Task<JsonResult> GetProjects(int companyId) { }
在javascript中编写以下句子:
data.Name
我可以从对象中看到正确的值但是当我尝试使用knockout使用它的值时,我得到了一个奇怪的值:
<h2 id="companyName" data-bind="text: companyName"></h2>
调用操作的代码如下:
$.get('Projects/GetProjects?companyId=' + param, function (data) {
ko.applyBindings(data);
$('#detailsModal').foundation('reveal', 'open');
&#34; [object HTMLHeadingElement]&#34;
我做错了什么?
答案 0 :(得分:0)
首先,您将HTMLHeadingElement
绑定到h2,这本身就是HTMLHeadingElement
。
如果您记录下来:
console.log(companyName.outerHTML);
您将获得接近"<h2>ACME Corporation</h2>"
所以我猜这个错误来自你的前期工作,存储你的数据。将companyName
存储到数据库时,您可以将其转换为文本值。
HTMLHeadingElement
继承了Node
的属性,因此您可以访问textContent
属性,这就是您要查找的内容。
// Pseudo code: before storing your project
project.companyName = source.companyName.textContent
project.save()
如果您不想/不能做这项前期工作,那么您可以在绑定价值时执行此操作。
<h2 id="companyName" data-bind="text: companyName.textContent"></h2>