【发布时间】:2015-12-28 08:23:49
【问题描述】:
在 asp.net MVC 项目中,我有这段 javascript 调用 HomeController 中的方法。
$.ajax({
url: '@Url.Action("doMultiBook", "Home")',
data: { "obj": myDataArray },
type: 'GET',
dateType: "json",
cache:false,
success: function (data) {
},
error: function (data) {
console.log("ERROR " + data)
}
});
我传递的 myDataArray 是这样的:
[{"userId":11,"bench":366,"dates":[["2015-9-30","All Day"]]},{"userId":18,"bench":366,"dates":[["2015-9-30","All Day"]]},{"userId":25,"bench":366,"dates":[["2015-9-30","All Day"]]}]
编辑 然后在我的控制器上,我有这个,
public void doMultiBook(multiBookObject[] obj)
{
Console.WriteLine(obj);
}
这是我的 multiBookObject 类
public class multiBookObject
{
public int userID { get; set; }
public int bench { get; set; }
public string[] dates { get; set; }
}
如何调用控制器方法并向其传递一些数据?
根据建议编辑我的问题
【问题讨论】:
-
而不是
string var,让它成为一个匹配你的JSON定义的对象,所以基本上是一个对象数组,包含userId、bench和一个“日期”数组。您不是在传递一个字符串,而是在传递一个 JSON 对象,因此您的 C# 需要一个与之匹配的对象。 -
试过了,但还是没有成功,我编辑我的问题
-
如果您使用 [Ajax ActionLink][1],您可以在 RouteValues 中传递 myDataArray。 [1]:stackoverflow.com/questions/5586327/how-to-use-ajax-actionlink
-
dates不是字符串数组。你有一个基于 JSON 的字符串数组。
标签: javascript asp.net ajax asp.net-mvc asp.net-mvc-4