gpt4 book ai didi

asp.net - 如何从Web方法中的动态参数列表中获取各个参数,使用jquery ajax方法发送?

转载 作者:行者123 更新时间:2023-12-01 01:39:32 25 4
gpt4 key购买 nike

我在我的aspx页面上使用jquery ajax方法,它将在后面的代码中调用webmethod。当前webmethod需要几个参数,例如名字,姓氏,地址等,我使用jquery ajax方法传递这些参数

data:JSON.stringify({fname:firstname,lname:lastname,city:city})

现在我的要求已经改变,要传递的参数的数量和类型对于 ex. 参数组合可以是类似 fname,city 的数量和类型或 fname,city 或 city,lname 或 fname,lname,city 或其他东西。因此 webmethod 应该接受任何数字参数。我想到使用数组来执行此操作,如所述 here .

但我不明白如何识别已传递​​哪些参数以及传递了多少参数到 webmethod 将数据插入/更新到数据库。请问有人可以帮助我吗?

谢谢

最佳答案

您可以在客户端使用复杂类型来匹配服务器端包含一个或多个参数数组的对象。

非常粗略的例子

(服务器端)

//class declaration     
public class MyObject
{
//values
string[] Keys;
string[] Values;

//methods
public void Add()
{...}
}

//web service - WebService.asmx
[WebMethod]
public void AddObject(MyObject NewObject)
{
NewObject.Keys.Length = ...;
NewObject.Add();
...
}

(客户端)

var MyObject= { };

MyObject.Keys = { $("#key1").val(), $("#key2").val(), ... };
MyObject.Values = { $("#val1").val(), $("#val2").val(), ... };

var DTO = { 'MyObject' : MyObject};

$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "WebService.asmx/AddObject",
data: JSON.stringify(DTO),
dataType: "json"
});

上面的示例将在客户端序列化您的对象,您将能够在服务器端访问该对象,就像您使用 new() 创建它一样。

关于asp.net - 如何从Web方法中的动态参数列表中获取各个参数,使用jquery ajax方法发送?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2818343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com