首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将整型数组从ajax发送到c# mvc?

如何将整型数组从ajax发送到c# mvc?
EN

Stack Overflow用户
提问于 2012-02-02 17:02:52
回答 4查看 44K关注 0票数 24

如何将整数数组从$.ajax发送到c# mvc?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-02-02 17:11:54

代码语言:javascript
复制
$.ajax({
          url: <Url of the action>,
          type: "POST",
          data: JSON.stringify([1,2,3]),
          dataType: "json",
          contentType: 'application/json; charset=utf-8'
});

在行动中。

代码语言:javascript
复制
public ActionResult ReceiveIntArray(int[] ints)
{
   ...
}

mvc应该自动解析json。

查看this question.

票数 40
EN

Stack Overflow用户

发布于 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以最终获得整型数组。

jQuery GET Syntax

JS Array toString() syntax

票数 2
EN

Stack Overflow用户

发布于 2012-02-02 17:12:30

我的方法是使用一个简单的input:hidden元素

代码语言:javascript
复制
<input type="hidden" name="elements" value='@String.Join(",", ViewBag.MyArray)' />

在JavaScript代码中,我将其作为字符串传递:

代码语言:javascript
复制
$.ajax({
   type: "POST",
   url: '/Controller/Method',
   data:
      {
          recipients: $("input[name=elements]").val()
      },
      traditional: true,
      success: updateSelected
});

最后,我只需像这样Split元素:

代码语言:javascript
复制
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Method(string elements)
{
    IList<long> selected = elements.Split<long>(',');
    ...
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9109544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档