Как мы можем передать несколько параметров в метод onSuccess PageMethod?

Я вызываю PageMethod "SameMethod" из метода javascript "caller", чтобы я мог получить некоторые значения из БД. После получения значений управление продолжается в методе "onSuccess". Проблема заключается в том, что мне нужно использовать некоторые значения переменных ("ImportantValue") из метода "вызывающего" JavaScript-метода в методе "onSuccess".

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

Метод onSuccess должен быть примерно таким:

функция onSuccess(pageMethodReturnValue, важное значение){

}

Возможно ли и, если это так, как передать несколько параметров (помимо возвращаемых значений метода страницы) методу onSuccess метода PageMethod?

Спасибо за помощь

2 ответа

Решение

Передай свой importantValue в качестве дополнительного параметра при вызове PageMethod. (обычно это называется параметром контекста, если вы ищете в Интернете для получения дополнительной информации)

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

Затем вы можете получить доступ к значению в обратном вызове onSuccess следующим образом:

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

Обновление, чтобы объяснить параметры onSuccess для @JacksonLopes. На веб-сайте aspalliance есть хорошее описание в статье Suresh Kumar Goudampally.

Важный бит (модифицированный для использования моих имен параметров):

У метода обратного вызова есть три параметра:

  • pageMethodReturnValue - возвращает вывод метода страницы.
  • context - используется для обработки другой логики, когда для запросов к нескольким страницам используется один обратный вызов. Мы также можем передать массив значений как context параметр.
  • methodName - этот параметр возвращает имя вызванного метода страницы.

Вы можете использовать анонимную функцию

PageMethod.SomeMethod(param1,..., function(){onSuccess(foo, importantValue)}, onFailure)
Другие вопросы по тегам