JS int-Array zum MVC3-Controller

8

Ich habe ein Array von Strings in JS. Alle Mitglieder sind eigentlich Nummern.
Mein Controller hat einen int [] Parameter.

Ich sende es von jquery:

%Vor%

und ich empfange es mit

%Vor%

Der Parameter wird nicht gefüllt, ich habe überprüft, das Request.Form["ids"] enthält " [\"25\",\"26\"]" ", die String-Repräsentation des JSON-Arrays. Gibt es eine Möglichkeit, dies automatisch zu tun ohne viele Int-Parsing?

    
TDaver 26.11.2011, 20:11
quelle

4 Antworten

11

Haben Sie versucht, das Array nicht zu stringieren und die Standardmodellbindung von mvc magisch zu machen?

%Vor%

Ich bin ziemlich sicher .net MVC wird das Array sehen und sehen, es ist ein Array von Ints und zuordnen Sie es korrekt zu Ihrem Array von Ints

    
Keith.Abramo 26.11.2011, 20:15
quelle
11

Für MVC3 müssen Sie jQuery so konfigurieren, dass die traditionelle "seichte" Serialisierung verwendet wird. Siehe hier .

Clientseitige AJAX-Anfrage:

%Vor%

Aktionsmethode:

%Vor%     
Lloyd 26.11.2011 20:54
quelle
4

Sie können dies auf zwei verschiedene Arten tun

1. Verwenden Sie $ .ajax, um Daten an Ihre Aktion zu senden

%Vor%

Ihre Aktion sollte wie folgt aussehen

%Vor%

2. Verwenden Sie $ .post, um Ihre Daten zu veröffentlichen

%Vor%

In Ihrer Aktion sollten Sie die JSON-Zeichenfolge deserialisieren

%Vor%

Sie müssen jquery.json-2.2.min.js herunterladen und in Ihren Code einfügen.

Ссылка

    
adyusuf 26.11.2011 20:35
quelle
0

Sie müssen

verwenden %Vor%

Um eine Liste im Backend zu erhalten, müssen die Daten in der Form ids=3&ids=5&ids=1&ids=7

gesendet werden

Bei IE-Versionen, die .map nicht unterstützen, verwenden Sie

%Vor%

und benutze es

%Vor%     
Gaby aka G. Petrioli 26.11.2011 20:34
quelle