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

Posted

技术标签:

【中文标题】如何将复杂的参数发送到 asp.net【英文标题】:How can I send complex params to asp.net 【发布时间】:2017-05-27 13:59:21 【问题描述】:

全部 我的软件结构是 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什么都没有

我的问题是

【问题讨论】:

您可以在请求正文中发送它们。 【参考方案1】:

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

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

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

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

public class IdStruct

    public List<int> id  get; set; 


public ActionResult ObjectReceive(IdStruct ids)

   return Content("success:true");

【讨论】:

对不起,我还是一无所获

以上是关于如何将复杂的参数发送到 asp.net的主要内容,如果未能解决你的问题,请参考以下文章

将 url 参数发送到通用视图,该视图将其发送到 ModelForm 中的元素

如何将数据从 asp.net 推送到 flash/silverlight 客户端?

如何使用 JSONP 将复杂数组发送到 asp.net mvc 控制器

如何将xml参数发送到WCF?

如何将参数发送到 npm test [重复]

如何使用烧瓶将多个参数发送到路由?