使用淘汰赛显示价值

时间:2014-10-11 23:11:05

标签: javascript c# asp.net-mvc json knockout.js

我正在调用一个使用以下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;

我做错了什么?

1 个答案:

答案 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>