【问题标题】:use jquery to store array of objects and pass it to server through ajax call使用 jquery 存储对象数组并通过 ajax 调用将其传递给服务器
【发布时间】:2014-04-24 13:12:59
【问题描述】:

在我的场景中,我需要将一些值存储在 c# 对象的数组中,并为其设置一些值。然后我需要通过 ajax 调用将这些值存储到数据库中。请帮助我任何建议。我有大约三个可用的对象都需要转到数据库。

会有表单类型的区域,用户将通过拖放功能添加文本框、文本区域、字段集、部分等控件。对于每个元素,例如,文本框的名称将被允许进行粗体、斜体、下划线等样式,单击时会有一个完成按钮我需要将这些元素的所有设置属性保存在一些javascript 数组和像这样存储在单独的 javascript 对象中的所有元素详细信息,这些对象需要存储在对象数组中,以便我可以使用该对象数组将其保存在数据库中。 单击自定义样式控制按钮的完成按钮会触发此功能。

$("#btnDoneMini").click(function () {

    var mydata = new Object();
    mydata.id = id;
    mydata.Name = $('#' + id).text();
    $("#tblStyleControlMini").hide();
});

现在我需要将 mydata 对象存储到一个数组中......请建议!!

【问题讨论】:

  • 看起来你在这个问题上付出了 0 的努力。谷歌,尝试一下,如果它不起作用,请来这里并发布您尝试过的内容
  • 简单地否决一个问题是没有意义的。我一直在谷歌搜索以实现同样的目标。我没有找到任何有关对象数组的有用信息。如果您不知道答案,请让人们在那里回答。你不必担心@Uriel_SVK

标签: c# jquery asp.net ajax


【解决方案1】:

所以,我重新阅读了这个问题,在更新之后,您似乎需要做两件事:

  1. 将根据用户创建的内容存储各种信息的对象推送到客户端数组中
  2. 将该数组推送到 Web 服务器,以便您可以将其保存到数据库中。

对于客户端,这相当简单:
首先声明一些你想创建的对象:

function userCreatedItemObject(id,name)
{
  this.Name = name;
  this.Id = id;
}


然后创建一些数组来存储这些对象:

var arrayOfObjects = [];


然后在您的点击处理程序中,将一个新对象推送到数组中:

$("#btnDoneMini").click(function () {
 //Instead of this
 //var mydata = new Object();
 //mydata.id = id;
 //mydata.Name = $('#' + id).text();

 //Do This:
 var name = $('#' + id).text();
 arrayOfObjects.push(new userCreatedItemObject(id,name));
 $("#tblStyleControlMini").hide();
});


对于发送部分,您可以通过 ajax 将此数组传递给控制器​​上的操作。只要该操作接受具有 id 和 name 属性的对象列表,它就应该通过它,没问题。 这是一个例子:Passing a list of object via ajax to controller


这是我之前的答案文本供参考: 这是关于 stackoverflow 的类似问题,检查一下,看看它是否解决了您的问题:How to Post an array of complex objects with Jquery, Json, and MVC

【讨论】:

  • 这应该是一条评论
  • 我无法评论其他人的帖子,因为我没有足够的时间去做。但是,如果这是答案...
  • 我说它应该是评论的原因是因为1)这个问题非常模糊,OP什么也没尝试,即。无法回答,以及 2) 仅链接的答案在这里不被认为是好的答案,尤其是没有解释的情况下。如果链接断开,您的答案将变得毫无用处。希望您不要误会我的意思,我并没有试图放下您的努力来提供帮助,但是像这样的糟糕问题不值得您花时间,也不适合本网站。
  • 不用担心,我感谢所有反馈,无论好坏 :) 无论如何,我已经更新了我的答案,我认为这解决了他/她的问题。
  • 谢谢杰森,这就是我想要的 :) @JasonWilczak
【解决方案2】:

现在编辑后让您的问题变得有意义, 我认为您正在尝试做这样的事情:

var dataarray = $.map(mydata, function(value, index) {
    return [value];
});

顺便说一句,它仍然可以很容易地用谷歌搜索(Converting a JS object to an array)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-02
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    相关资源
    最近更新 更多