javascript - 如何将复杂的参数发送到asp.net

标签 javascript c# asp.net extjs extjs3

全部 我的软件结构是Extjs3.4.1 + Asp.net Mvc3。 现在我想从客户端发送对象到服务器

下面是 JavaScript 代码:

Ext.getCmp("hiddenform").getForm().submit({
   method: 'POST',
   waitTitle: 'Connecting',
   timeout: 180,
   waitMsg: 'Sending data...',
   params: Ext.util.JSON.encode({ ids: [{ id: 11 },{ id: 12},{ id: 13}]}),
   url: myroot + 'stock/ObjectReceive',
   success: function (form, action) {
        Ext.Msg.alert("success", "success", function () {
              pwforqueryconditions.hide();
        });
                                },
        failure: function (form, action) {
              itemform.getForm().reset();
        });

下面是服务器端的代码

public class IdStruct
{
    public int id { get; set; }
}

public ActionResult ObjectReceive(List<IdStruct> ids)
{
   return Content("{success:true}");
}

结果是执行了ObjectReceive方法,但ids什么都没有

我的问题是如何将复杂的参数发送到asp.net

最佳答案

JavaScript 代码很好。您只需要修改服务器端代码即可。据我了解,当您发送以下数据时:

params: Ext.util.JSON.encode({ ids: [{ id: 11 },{ id: 12},{ id: 13}]})

服务器端将其视为您正在发送一个包含ID 列表/数组的对象(表单数据)。

因此,在服务器端,您必须将其作为单个对象接收,并将 ids 列表/数组作为属性。即

public class IdStruct
{
    public List<int> id { get; set; }
}

public ActionResult ObjectReceive(IdStruct ids)
{
   return Content("{success:true}");
}

关于javascript - 如何将复杂的参数发送到asp.net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44217737/

相关文章:

javascript - 数字验证在 Firefox 中不起作用

c# - 将父类转换到子类

c# - LINQ 查询以从分组中查找最小值 - 无法创建类型为 'X' 的常量

c# - 如何在绑定(bind)的 ItemsControl 中更改 ZIndex?

asp.net - 您无权访问 IIS 配置文件 - Web 应用程序错误

c# - 如何使用 int ID 列更改 ASP.net Identity 2.0 的表名?

javascript - 在 JavaScript 中解析带有双引号的格式错误的 JSON

javascript - 当 ViewModel 的属性重命名时 Knockout.js 绑定(bind)被破坏

asp.net - System.Security.Cryptography.CryptographicException : Not enough storage is available to process this command

javascript - Cypress - 4000 毫秒后重试超时 : Expected to find element - only in Jenkins