从webservice返回两个值

sha*_*ish 5 c# asp.net web-services return

可以将两个值从WebService返回到jQuery.

我尝试过

[WebMethod(EnableSession = true)]
public string testing(string testId)
{
    string data = string.Empty;
    string data1 = string.Empty;
    List<test1> datalist1 = new List<test1>();
    List<test> datalist = new List<test>();

    //coding
    data = jsonSerialize.Serialize(datalist1);
    data1 = jsonSerialize.Serialize(datalist);
    return [data,data1];
}
Run Code Online (Sandbox Code Playgroud)

但它显示错误....我们如何从webservice返回两个值.....

Jes*_*cer 9

另一种方法是创建一个具有所需的两个返回值的自定义数据类型:

[Serializable]
public sealed class MyData
{
    public string Data { get; set; }
    public string Data1 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

...

[WebMethod(EnableSession = true)]
public MyData testing(string testId)
{
    string data = string.Empty;
    string data1 = string.Empty;
    List<test1> datalist1 = new List<test1>();
    List<test> datalist = new List<test>();

    //coding
    data = jsonSerialize.Serialize(datalist1);
    data1 = jsonSerialize.Serialize(datalist);
    return new MyData { Data = data, Data1 = data1 };
}
Run Code Online (Sandbox Code Playgroud)

要么

[Serializable]
public sealed class MyData
{
    public List<test> Data { get; set; }
    public List<test1> Data1 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

...

[WebMethod(EnableSession = true)]
public string testing(string testId)
{
    MyData data = new MyData();
    string alldata = string.Empty;
    List<test1> datalist1 = new List<test1>();
    List<test> datalist = new List<test>();

    //coding
    data.Data = datalist1;
    data.Data1 = datalist;
    alldata = jsonSerialize.Serialize(data);
    return alldata;
}
Run Code Online (Sandbox Code Playgroud)


Jon*_*eet 7

那么你可以返回一个字符串数组:

public string[] Testing(...)
{
    return new string[] { data, data1 };
}
Run Code Online (Sandbox Code Playgroud)

然后,您需要在客户端上单独执行JSON反序列化的每一位,这不太可能非常令人愉快:(


sha*_*ish 0

我尝试过像

 return jsonSerialize.Serialize(new { list1 = datalist1, list = datalist });
Run Code Online (Sandbox Code Playgroud)

我可以轻松地从我的 jQuery 文件中接收这些。感谢大家的支持