【问题标题】:ASP.NET + AJAX + WebService: string result + out parameterASP.NET + AJAX + WebService:字符串结果 + 输出参数
【发布时间】:2010-12-14 03:53:29
【问题描述】:

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

[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'参数访问数据?

谢谢。

【问题讨论】:

  • 为什么不直接返回List&lt;User&gt;
  • 如何返回错误信息?

标签: javascript web-services asp.net-ajax webmethod


【解决方案1】:

我将使用这种方法:

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

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

【讨论】:

    猜你喜欢
    • 2016-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-24
    • 1970-01-01
    • 1970-01-01
    • 2020-02-17
    相关资源
    最近更新 更多