2016-04-26 10 views
1

Ich habe eine Gruppe von Radiobuttons eine Dropdown-Liste und ein Listenfeld. Wenn die Dropdown-Liste für die Verwendung der Dropdown-Liste auf der Grundlage der Optionsschaltflächen ausgefüllt wird (ich habe auch andere Parameter). Es dauert 2 Minuten für 6.000 Datensätze, um Listbox zu laden. Gibt es einen anderen schnelleren Weg? Wäre es schneller, wenn ich die Listbox im Controller über das Drop-Down-Change-Event ausfülle, wenn ja, wie kann ich das tun?Listbox lädt so langsam mit Knockout

$.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); 
     }); 

    }); 

Ansicht:

@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}" }) 

Antwort

1

Wenn result ein Array ist, versuchen Sie es zu recipientList zuweisen?

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

es dauert 2 sekunden now.love you so viel :) – Nakres

Verwandte Themen