В старые добрые времена, если вы хотели обратиться из клиентского кода к веб-сервису, или, что серверному методу [WebMethod], то приходилось писать много кода использующего javascript-объект XMLHttpRequest. Сейчас же, если вы используете в своем ASP.NET проекте jQuery, сделать серверный запрос из клиентского кода очень просто. Допустим, у вас есть вот такой метод:
[WebMethod]
public static string GetSomeNewString(string _id, string _name)
{
string result;
/..../
return result;
}
Все что вам нужно, чтобы вызвать его на клиенте это написать что-то типа:
$.ajax({
type: "POST",
url: "~/Default.aspx/GetSomeNewString",
data: "{'_id': '" + Id + "','_taskid': '' }",
contentType: "application/json; charset=utf-8",
dataType: "json",
context: this,
success: function (response) {
//сюда мы попадаем в случае успешного выполнения серверной функции
//результат выполнения будет в response.d
},
failure: function (response) {
//сюда мы попадаем в случае ошибки
alert(response.d);
}
});
Кстати, этот же способ можно использовать и для веб-частей SharePoint. Единственное отличие в том, что веб-часть не может содержать серверные методы (то есть, конечно, может, но смысла в этом мало - обращаться к вы можете только либо к веб-сервисам, либо к страницам с веб-методами). Так что, все что вам нужно - это добавить в проект решения для SharePoint страницу приложения (Application Page) которая и будет содержать веб-методы:

Комментариев нет:
Отправить комментарий