根据我的经验,我称之为简单的网络方法,如下:
[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:WS中的“out”参数应该工作吗?我看到很少的文章(例如)说不可能。 问题2:如果它不起作用,我应该如何更改方法签名以使其可行? 问题3:如果有效,我如何从'out'参数中访问数据?
感谢。
答案 0 :(得分: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};
}
我的意思是我会返回复杂的对象,它的一个属性将包含返回的常用值和另一个 - 所需的数据。