【问题标题】:How can we pass multiple parameters to onSuccess method of PageMethod?我们如何将多个参数传递给 PageMethod 的 onSuccess 方法?
【发布时间】:2010-12-09 12:34:36
【问题描述】:

我正在从 javascript 方法“调用者”调用 PageMethod“SameMethod”,以便我可以从 DB 中获取一些值。在我获得值后,控制继续在“onSuccess”方法中。问题是我需要在“onSuccess”方法中使用来自javascript方法“caller”的一些变量值(“importantValue”)。

函数调用者(){ var 重要值 = 1984; PageMethod.SomeMethod(param1,..., onSuccess, onFailure) }

onSuccess 方法应该是这样的:

函数 onSuccess(pageMethodReturnValue, importantValue){ }

是否可以,如果可以,如何将多个参数(除了页面方法的返回值)传递给PageMethod的“onSuccess”方法?

感谢您的帮助

【问题讨论】:

    标签: javascript asp.net pagemethods


    【解决方案1】:

    在调用 PageMethod 时将您的 importantValue 作为附加参数传递。 (如果您在线搜索更多信息,这通常称为上下文参数)

    function caller(){
        var importantValue = 1984;   
        PageMethod.SomeMethod(param1,..., onSuccess, onFailure, importantValue)
    }
    

    然后就可以在 onSuccess 回调中访问该值,如下:

    function onSuccess(pageMethodReturnValue, context, methodName){
        // context == 1984
    }
    

    更新以解释 @JacksonLopes 的 onSuccess 参数 aspalliance website in an article by Suresh Kumar Goudampally上有很好的描述

    重要的一点(修改为使用我的参数名称)是:

    成功回调方法有三个参数:

    • pageMethodReturnValue - 返回页面方法的输出。
    • context - 当单个回调用于多个页面方法请求时,用于处理不同的逻辑。我们也可以通过 作为context 参数的值数组。
    • methodName - 此参数返回调用的页面方法的名称。

    【讨论】:

    • 能不能详细点???我的意思是,OnSuccess 中的 methodName 参数是什么??????
    • @JacksonLopes - 我添加了更多信息。
    • @GeoffAppleford 非常感谢好友。
    • 为什么它对我不起作用? context 的值对我来说是 null
    【解决方案2】:

    你可以使用匿名函数

    PageMethod.SomeMethod(param1,..., function(){onSuccess(foo, importantValue)}, onFailure)
    

    【讨论】:

      猜你喜欢
      • 2010-11-13
      • 2021-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多