我想使用jquery ajax函数发布到MVC2控制器操作,但我的参数包括一个(简单)自定义类的数组,该操作没有正确获取数据。帮助使用jQuery .ajax()方法将聚合数据传递给mvc2动作
客户:
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);
服务器:
[HttpPost]
public ActionResult Test1(string var1, List var2) { ... }
public class TestParameterClass
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
其中有2例已经工作: 1)使用列表< _string>作为动作参数和改变JavaScript数组为字符串 阵列。
2)使用TestParameterClass作为动作参数并传递1个自定义类的实例。
所以真正的技巧似乎是获得一个自定义类的数组传递成功,并与其他扁平(字符串)参数。
任何想法,使这项工作?还有没有关于MVC2如何将参数转换为一些C#类型的任何文档(我已经使用列表<>只有b/c它似乎是最广泛使用的)?
谢谢!
2010-09-28
skj