0

根据我的经验,我称之为简单的网络方法,如下所示:

[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};
}

我的意思是我将返回复杂对象,它的一个属性将包含返回的常用值和另一个 - 必需的数据。

于 2010-12-16T04:05:10.563 回答