【问题标题】:KnockoutJs mapping JSON to viewmodelKnockoutJs 将 JSON 映射到视图模型
【发布时间】:2012-12-05 22:27:21
【问题描述】:

我在将 JSON 从 ASP.net webform webapi 绑定到使用 KnockoutJs 的视图模型时遇到问题。 wepapi 和映射到 mappedQuickEntries 没有问题。

我哪里弄错了?谢谢。

错误:

错误:无法解析绑定。 消息:ReferenceError:ItemPartNumb 未定义; 绑定值:值:ItemPartNumb

查看:

<div>    
<table border="1" cellpadding="0" cellspacing="0">
 <tbody data-bind="foreach: quickEntries">
   <tr>
        <td data-bind="value: ItemPartNumb"></td>
        <td data-bind="value: ItemDescription"></td>     
    </tr>
 </tbody>
</table>

视图模型:

<script type="text/javascript">

var QuickEntry = function(_itemPartNumb, _itemDescription) {    
    this.ItemPartNumber = ko.observable(_itemPartNumb);
    this.ItemDescription = ko.observable(_itemDescription);        
};

function QuickEntriesViewModel () {        

    var self = this;
    self.quickEntries = ko.observableArray([]);

    $.ajax({
        url: '/DesktopModules/Blah/API/Data/GetTenQuickEntries',
        type: 'GET',
        dataType: 'json',
        success: function (data) {                
            var mappedQuickEntries = $.map(data, function (item) {
                return new QuickEntry(item.ItemPartNumb, item.ItemDescription);
            });

            self.quickEntries(mappedQuickEntries);              
        },
        statusCode: {
            404: function () {
                alert('Failed');
            }
        }
    });
};

ko.applyBindings(new QuickEntriesViewModel());    

【问题讨论】:

    标签: asp.net knockout.js


    【解决方案1】:

    ItemPartNumbItemPartNumber

    您使用的是value-binding 而不是text-binding。

    http://jsfiddle.net/MizardX/9sqvk/

    【讨论】:

    • 嘿,感谢您指出这一点。我做了改变。但是,表没有被创建,现在我没有错误消息。
    猜你喜欢
    • 2012-03-07
    • 1970-01-01
    • 1970-01-01
    • 2013-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-27
    • 1970-01-01
    相关资源
    最近更新 更多