Wie die Rückkehr aus einer Json-label/Wert-paar von C# - Controller-Aktion für jQuery AutoComplete

Brauche ich zum erstellen eines jQuery-Autocomplete-textbox, bekommt eine Liste mit Namen aus der DB, und wenn ausgewählt, sendet der Benutzer auf die entsprechende Seite verlinken.

Ich versuche, etwas zu tun, genau wie dieser post: Brand einer controller-action von einem jQuery-Autocomplete-Auswahl

Die Lösung macht Sinn, und die klicken und die Umleitung funktioniert, aber ich weiß nicht, wie die Rückkehr der mehr als nur eine string-Liste von Namen.

Aktuellen controller-code (Codeausschnitt):

        List<string> Names = new List<string>();
        foreach (Child c in listfromDB)
        {
            Names.Add(c.Name);
            //childNames.Add(new KeyValuePair<string, int>(c.Name, c.ID));
        }
        return Json(Names);

Den KeyValuePair schien nicht zu funktionieren. Wie erstelle ich ein object-array statt?

Mein jQuery-code:

$(document).ready(function () {
$("#find-child-box").autocomplete({
source: function (request, response) {
    //define a function to call your Action (assuming UserController)
    $.ajax({
        url: '/Admin/AutoCompleteMyChildren', type: "POST", dataType: "json",

        //query will be the param used by your action method
        data: { query: request.term },
        success: function (data) {
            response($.map(data, function (item) {
                return { label: item, value: item };
            }))
        }
    })
},
minLength: 1, //require at least one character from the user
select: function(event, ui) {
alert('mom');
    window.location.href = ui.item.value;
}
}); 
});
  • Was willst du den zurück, wenn nicht eine Liste<string>?
  • Ich möchte Json zurückgeben, dass die Autocomplete-plugin akzeptiert, so dass ich ein string (Name) und leiten den Benutzer auf der Basis der ID (int).
InformationsquelleAutor scojomodena | 2012-09-27
Schreibe einen Kommentar