从Jquery ajax向C#web服务发送数据

从Jquery ajax向C#web服务发送数据,jquery,ajax,web-services,json,Jquery,Ajax,Web Services,Json,假设我有一个名为service.asmx/Test的web服务/web方法。我在这个web服务中有几种方法 我希望向任何给定的方法发送一些数据。数据由若干内容组成,每个方法都可以向其发送不同类型的变量。目前,我使用字符串[][]类型,因此我的web服务如下所示: [WebMethod] public void Test(string[][] data) { //do whatever } 有人告诉我,这不是最好的方法。

假设我有一个名为service.asmx/Test的web服务/web方法。我在这个web服务中有几种方法

我希望向任何给定的方法发送一些数据。数据由若干内容组成,每个方法都可以向其发送不同类型的变量。目前,我使用字符串[][]类型,因此我的web服务如下所示:

 [WebMethod]

        public void Test(string[][] data)
        {
            //do whatever
        }
有人告诉我,这不是最好的方法。很多人使用IDictionary并定义强类型……但这似乎会增加复杂性。正确的方法是什么?我应该使用什么类型的变量,列表,字符串[],myCustomType

如果我使用MyCustom类型,我希望它更通用,例如

public class MyCustom {

        public string user { get; set; }
        public string domain { get; set; }
        public string client { get; set; }
        public string server { get; set; }

        Array<Object> params;

}

感谢您决定传递多个参数,而不是传递一个MyCustom类型的参数。这解决了可维护性和灵活性问题。

您可以使用JSON将数据发布到web服务。此外,在web服务中,还必须添加以下内容: [System.Web.Script.Services.ScriptService] 然后,您可以做的是,使用json对象作为ajax调用的数据,而asp.net将处理其余部分

[WebMethod]

        public void Test(MyCustom data)
        {
            //do whatever
        }