J'essaie d'utiliser la fonction jquery ajax pour publier une action de contrôleur MVC2, mais mes paramètres incluent un tableau d'une classe personnalisée (simple) et l'action n'obtient pas les données correctement.j'utilise la méthode jquery .ajax() pour transmettre des données agrégées à l'action mvc2
Client:
var element1 = { FirstName: 'Raymond', LastName: 'Burr' };
var element2 = { FirstName: 'Johnny', LastName: 'Five' };
var var2 = [element1, element2];
var var1 = 'some string';
var parms = {
var1: var1,
var2: var2
};
var ajaxArgs = {
type: "POST",
traditional: true,
url: "/Home/Test1",
data: parms,
dataType: "json",
success: returnSuccess,
error: returnError
};
$.ajax(ajaxArgs);
Serveur:
[HttpPost]
public ActionResult Test1(string var1, List<TestParameterClass> var2) { ... }
public class TestParameterClass
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
2 cas qui fonctionnent déjà: 1) Utilisation d'une liste < _string> comme paramètre d'action et la modification du tableau javascript pour une chaîne tableau .
2) en utilisant un TestParameterClass en tant que paramètre d'action et en passant une instance de la classe personnalisée.
Donc le vrai truc semble être d'obtenir un tableau d'une classe personnalisée réussie avec succès et avec d'autres paramètres flat (string).
Des idées pour que cela fonctionne? Y a-t-il aussi de la documentation sur comment MVC2 traduit le paramètre à un certain type de C# (j'ai utilisé la liste <> seulement b/c il semble le plus largement utilisé)?
Merci!