如何将整数数组从$.ajax发送到c# mvc?
发布于 2012-02-02 17:11:54
$.ajax({
url: <Url of the action>,
type: "POST",
data: JSON.stringify([1,2,3]),
dataType: "json",
contentType: 'application/json; charset=utf-8'
});
在行动中。
public ActionResult ReceiveIntArray(int[] ints)
{
...
}
mvc应该自动解析json。
发布于 2012-02-02 17:06:17
最简单的方法是在GET请求中发送一个带分隔符(可能是逗号)的int字符串列表作为参数,然后在C# MVC接收器上使用Sting.Split()
解析它们。
例如,$.get("/path-to/receiver/", { myArray: myArray.toString() } );
然后,在服务器上使用
string[] stringArray = Request.QueryString["myArray"].ToString().Split(',')
将值提取到字符串数组中,然后执行Int32.TryParse
以最终获得整型数组。
发布于 2012-02-02 17:12:30
我的方法是使用一个简单的input:hidden
元素
<input type="hidden" name="elements" value='@String.Join(",", ViewBag.MyArray)' />
在JavaScript代码中,我将其作为字符串传递:
$.ajax({
type: "POST",
url: '/Controller/Method',
data:
{
recipients: $("input[name=elements]").val()
},
traditional: true,
success: updateSelected
});
最后,我只需像这样Split
元素:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Method(string elements)
{
IList<long> selected = elements.Split<long>(',');
...
}
https://stackoverflow.com/questions/9109544
复制相似问题