0

私の経験では、次のように単純な Web メソッドを呼び出します。

[WebMethod]
public List<string> GetUserListByLetters(string strLetters){ ... }

そして、これが私のOnComplete JS関数です:

function OnComplete(args) {
    ...
    if (args != "") {
        for (var i = 0; i < args.length; i++) {
            // Do what I need with string in args[i]
        }
    }
    ...
}

今のところ、そのような方法が必要です:

[WebMethod]
public string GetUserListByCountry(int countryId, out List<User> users)
{ 
    users=null;
    if ( Validate(countryId)==false )
        return "wrong country Id";
    users = GetUsers(countryId); // returns list of User objects.
    return "";
}

質問 1: "out" パラメータは WS で機能する必要がありますか? 不可能だと言っている記事(たとえば)はほとんど見ませんでした。質問 2: 機能しない場合、メソッド シグネチャを変更して機能させるにはどうすればよいですか? 質問 3: 機能する場合、「out」パラメーターからデータにアクセスするにはどうすればよいですか?

ありがとう。

4

1 に答える 1

0

私はこのアプローチを使用します:

[WebMethod]
public object GetUserListByCountry(int countryId)
{ 
    users=null;
    if ( Validate(countryId)==false )
        return "wrong country Id";
    users = GetUsers(countryId); // returns list of User objects.
    return new {Error="", Users=users};
}

複雑なオブジェクトを返すことを意味します。その 1 つのプロパティには通常の戻り値が含まれ、もう 1 つのプロパティには必要なデータが含まれます。

于 2010-12-16T04:05:10.563 に答える