ASP.NET, как вы знаете, использует UpdatePanel для частичного обновления страницы с использованием AJAX.
Менее известная функция - это то, что .NET вызывает веб-методы. Это действительно вызовы AJAX, которые не связаны с GUI-частью страницы. Вы можете объявить (на стороне сервера) метод как WebMethod, а на стороне клиента это можно вызвать с помощью JavaScript.
Пример:
В этом примере показано, как получить значение переменной сеанса. Обратите внимание, что метод должен быть общим - это означает, что он не знает ни одного значения элемента в объекте страницы.
Как и для всех функций ASP.NET AJAX, на странице должен быть элемент ScriptManager. Чтобы включить методы страницы, вам также необходимо добавить EnablePageMethods="true"
в ScriptManager следующим образом:
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />
Серверный код (VB):
<Services.WebMethod()> Public Shared Function GetPreviewImages() As String
Dim lPreviewImages As String = HttpContext.Current.Session("mPreviewImages")
If lPreviewImages IsNot Nothing Then
Return lPreviewImages
Else
Return ""
End If
End Function
Код на стороне клиента:
//Declare the return methods:
function GetPreviewImages_Success(result, userContext, methodName) {
alert(result);
}
function GetPreviewImages_Failed(error, userContext, methodName) {
var errorMessage = 'Error in map server method ' + methodName ;
if(error !== null) errorMessage += '\n' + error.get_message();
alert(errorMessage);
}
// Call the page method:
PageMethods.GetPreviewImages(GetPreviewImages_Success, GetPreviewImages_Failed);
См. Также пример на C # , в котором также указано, как параметры работают в веб-методе.