我正在使用 jQuery 在 ASP.NET MVC 中使用 Http Post 进行 Ajax 调用。我希望能够传递值字典。
我能想到的最接近的方法是传入一个多维字符串数组,但实际上传递给 ActionResult 方法的结果是一个包含“键/值”对的字符串连接的单维字符串数组。
例如,以下“值”数组中的第一项包含以下值:
"id,200"
这是我的 ActionResult 方法的示例:
public ActionResult AddItems(string[] values)
{
// do something
}
这是我如何从 jQuery 调用方法的示例:
$.post("/Controller/AddItems",
{
values: [
["id", "200"],
["FirstName", "Chris"],
["DynamicItem1", "Some Value"],
["DynamicItem2", "Some Other Value"]
]
},
function(data) { },
"json");
有谁知道如何将字典对象从 jQuery 传递给 ActionResult 方法而不是数组?
我真的很想像这样定义我的 ActionResult :
public ActionResult AddItems(Dictionary<string, object> values)
{
// do something
}
有什么建议么?
更新:我尝试在值中传递一个逗号,它基本上只是使得不可能使用字符串解析来实际解析键/值对。
通过这个:
values: [
["id", "200,300"],
["FirstName", "Chris"]
]
结果是:
values[0] = "id,200,300";
values[1] = "FirstName,Chris";