Вы должны вызывать свой WebMethod со стороны клиента (например, как запрос AJAX).Затем WebMethod должен вернуть клиенту ответ с запрошенными данными (например, в виде строки в формате JSON).
Существует несколько способов сделать это.Во-первых, используется AJAX.
Пример:
C #:
[WebMethod]
public static string someWebMethod(String data) {
// your code here
var returnData = /* some kind of data */
JavaScriptSerializer json = new JavaScriptSerializer();
return json.Serialize(returnData);
}
JS (для примера используется jQuery, но вы можете сделать это и в обычном JS):
$.ajax({
type: "POST",
url: "PageName.aspx/someWebMethod",
data: "{"data": data}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(response) {
// Do something with the response.
}
});
Другой вариант - использовать PageMethods
.Для этого вы можете вызвать метод из вашего JS по следующей схеме:
PageMethods.someWebMethod(data);
function onSucess(result) {
console.log(result);
}
function onError(result) {
console.log(result);
}
Я бы посоветовал немного подробнее изучить документацию по ASP.NET WebMethod.Кроме того, вот пара учебных пособий, которые могут помочь: Вызов ASP.NET WebMethod с использованием jQuery-AJAX и Вызов метода ASP.NET C # (веб-метод) с использованием JavaScript .