列表框使用knockout加载速度很慢

时间:2016-04-26 13:44:02

标签: asp.net-mvc knockout.js

我有一组单选按钮,一个下拉列表和一个列表框。当使用更改下拉列表时,列表框会根据单选按钮填充。(我也有其他参数)。加载列表框需要2分钟才能获得6.000条记录。还有其他更快的方法吗?如果我使用下拉更改事件填充控制器中的列表框会更快吗?如果是,我该怎么做?

   $.getJSON('GetRecipients', { state: state, distrChan: valueOfDistrChan, isactive: valueOfrdoActTer, groups: groups, mktGroup: valueOfMarkGrp, subjectID: subjectID }, function (data) {
        var result = $.parseJSON(data);
        $.each(result, function (i, item) {
            self.recipientList.push(item);
        });

    });

视图:

 @Html.ListBoxFor(model => model.SelectedRecipients, new MultiSelectList(new[] { "" }), new { @class = "form-control", @size = 11, data_bind = "options: recipientList,optionsValue:function(i) {return i.ID}, optionsText: function(i) {return i.LastName +', '+ i.FirstName}" })

1 个答案:

答案 0 :(得分:1)

如果result是数组,请尝试将其分配给recipientList

var result = $.parseJSON(data);
self.recipientList(result);