jQuery Autocomplete übergeben NULL-Parameter an den Controller in ASP.NET MVC 2

8

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

    
Mohammad 25.03.2010, 15:04
quelle

3 Antworten

4

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 wird

- Bearbeitet -

Aufgrund Ihrer Rückmeldung lautet die Antwort:

Der Controller sollte sein:

%Vor%

Die jquery wäre:

%Vor%     
amurra 25.03.2010, 15:46
quelle
9

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%     
tjp69 30.04.2010 14:56
quelle
2

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:

%Vor%

Was Sie innerhalb von success fn tun, hängt natürlich von der Form des Jsons ab, den Sie von Ihrer Aktion zurückgeben.

    
Cheeso 26.03.2010 00:57
quelle