Как мы можем передать несколько параметров в метод 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)