Прошло много времени с тех пор, как я использовал эту платформу (версия 6.9.22.2, поэтому, возможно, все немного изменилось) - вы взглянули на ASP.NET AJAX framework ? Я не уверен, сколько работы Майкл проделал над этим с тех пор, как он вышел - конечно, его сообщения в блоге об этом иссякли примерно в июле 2007 года.
В любом случае, если я правильно понимаю ваш вопрос, вы хотите:
- Передайте значение вашему методу на стороне сервера
- Используйте это значение где-нибудь в вашем методе обратного вызова
Во-первых, чтобы передавать переменные в ваши методы, не должны ли они предшествовать имени функции обратного вызова?
Чтобы получить начальные значения в обратном вызове, я либо:
- Возвращает их как часть возвращаемого объекта JSON
- Хранит их в переменной вне области действия обеих функций
Переходя к варианту 2, вы получите:
<a href="#" onclick="doTest(1);">test something</a>
<div id="temp" style="margin:15px 15px 0px 5px; padding:10px;"></div>
<script type="text/javascript">
var initialValue;
function doTest(x){
initialValue= x;
Default2.testSomething(x, doTest_callback)
}
function doTest_callback(res){
alert(res.value);
document.getElementById("temp").innerHTML = ">>>> " + initialValue + " <<<<"
}
</script>
Основным недостатком этого является то, что если пользователь запускает ваш метод "doTest" с другим значением, пока вы еще обрабатываете первый запрос, значение initialValue вполне могло бы измениться к тому времени, когда оно запрашивается в doTest_callback.