Ich verwende das jQuery-Autocomplete-Plug-in von der jQuery-Website Aufruf der Controller-URL, die json im Gegenzug zurückgeben. Das Problem ist, dass der an den Controller gesendete Parameter immer Null ist.
Hier ist der In-Browser-jQuery-Code für die automatische Vervollständigung:
%Vor%und hier ist die ASPNET MVC Controller-Signatur in C #:
%Vor%Vielen Dank im Voraus,
Mohammad
Fügen Sie die Stadtdaten als extraParms hinzu:
%Vor%Dies setzt voraus, dass das $ ('# City') eine Eingabe vom Typ text ist, wenn das .val
verwendet wirdAufgrund Ihrer Rückmeldung lautet die Antwort:
Der Controller sollte sein:
%Vor%Die jquery wäre:
%Vor%Ich hatte das gleiche Problem. Nachdem ich die von JQuery in Fiddler erstellte URL betrachtet habe, habe ich festgestellt, dass sie wie folgt aussieht: / MyController / MyMethod? Term = x. Also habe ich meine Methodensignatur geändert, um den Parameternamen 'term' anstelle von 'q' zu verwenden ('q' wird in den Autocomplete-Beispielen der JQuery-Website angezeigt). Dies behob das Problem und ich konnte das benötigte JsonResult zurückgeben.
%Vor% Als ich dies getan habe, habe ich die Option source
bei der automatischen Vervollständigung als eine Funktion angegeben, die die ASPNET-App aufruft. Dies erlaubte mir, die URL direkt anzugeben. Für dich würde es das mögen:
Was Sie innerhalb von success
fn tun, hängt natürlich von der Form des Jsons ab, den Sie von Ihrer Aktion zurückgeben.
Tags und Links asp.net-mvc jquery autocomplete