Javascript 使用knockout显示值
我调用一个操作,该操作使用以下操作返回一个JSON对象Javascript 使用knockout显示值,javascript,c#,asp.net-mvc,json,knockout.js,Javascript,C#,Asp.net Mvc,Json,Knockout.js,我调用一个操作,该操作使用以下操作返回一个JSON对象 public async Task<JsonResult> GetProjects(int companyId) { } 我可以从对象中看到正确的值,但当我尝试使用knockout使用其值时,我得到了一个奇怪的值: <h2 id="companyName" data-bind="text: companyName"></h2> “[对象HTMLHeadingElement]” 我做错了什么?首先,您将
public async Task<JsonResult> GetProjects(int companyId) { }
我可以从对象中看到正确的值,但当我尝试使用knockout使用其值时,我得到了一个奇怪的值:
<h2 id="companyName" data-bind="text: companyName"></h2>
“[对象HTMLHeadingElement]”
我做错了什么?首先,您将
HTMLHeadingElement
绑定到h2,h2本身就是HTMLHeadingElement
如果您记录此日志:
console.log(companyName.outerHTML);
您将得到一个接近“ACME Corporation”
因此,我猜错误来自您在存储数据时的前期工作。将companyName
存储到数据库中时,可以将其转换为文本值
从继承属性,以便您可以访问您正在查找的textContent
属性
// Pseudo code: before storing your project
project.companyName = source.companyName.textContent
project.save()
如果您不想/不能做这项前期工作,那么您可以在绑定您的值时做这项工作
<h2 id="companyName" data-bind="text: companyName.textContent"></h2>
您应该提供更多信息:什么函数调用/变量准确输出[object HTMLHeadingElement]
?如何从data.Name
转换到companyName
(JSON传输)?后者是计算属性吗?代码的其余部分在哪里?为什么这个问题被标记为asp.net&c?@Tyblitz我刚刚更新了代码。我将其标记为asp.net-mvc,因为我正在调用一个返回json对象的c#mvc控制器
// Pseudo code: before storing your project
project.companyName = source.companyName.textContent
project.save()
<h2 id="companyName" data-bind="text: companyName.textContent"></h2>