ASP.NET + AJAX + WebService:字符串结果 +输出参数

发布于 2024-10-07 10:43:25 字数 822 浏览 5 评论 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”参数访问数据?

谢谢。

In my experience I call simple web methods, like this:

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

And here is my OnComplete JS-function:

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

For now I would like to have such method:

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

Question1: should "out" parameter work in WS? I saw few article (, for example) where said it is impossible.
Question2: if it doesn't work, how should I change method signature to get that workable?
Question3: if it works, how could I access data from 'out' parameter?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

狠疯拽 2024-10-14 10:43:25

我将使用这种方法:

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

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

I will use this approach:

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

I mean that I will return complex object, its one property will contain usual value for return and another - required data.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文