Способ, которым работает переполнение стека, отличается в двух важных аспектах от этой статьи CodeProject.
Переполнение стека выполняет свой AJAX-запрос на действие контроллера ASP.NET MVC, а не на отдельную страницу ASPX. Вы можете рассматривать это как MVC-аналог метода ASP.NET AJAX-страницы. В обоих случаях метод ASPX будет отставать в плане производительности.
Запрос AJAX переполнения стека возвращает сериализованный результат JSON, а не произвольный открытый текст или HTML. Это делает обработку на стороне клиента более стандартизированной и в целом более чистой.
Например: когда я голосовал за этот вопрос, был сделан запрос XmlHttpRequest к / questions / 171000 / voice, с значением «pollTypeId», равным 2 в данных POST.
Контроллер, обработавший запрос, добавил где-то мой голос в таблицу, а затем ответил следующим JSON:
{"Success":true,"NewScore":1,"Message":"","LastVoteTypeId":2}
Используя эту информацию, этот JavaScript заботится об обновлении отображения на стороне клиента:
var voteResult = function(jClicked, postId, data) {
if (data.Success) {
jClicked.parent().find("span.vote-count-post").text(data.NewScore);
if (data.Message)
showFadingNotification(jClicked, data.Message);
}
else {
showNotification(jClicked, data.Message);
reset(jClicked, jClicked);
if (data.LastVoteTypeId) {
selectPreviousVote(jClicked, data.LastVoteTypeId);
}
}
};
Если вы используете WebForms, пример вызова методов страницы, который вы нашли в моем блоге, определенно находится на правильном пути.
Однако я бы посоветовал вам рассмотреть веб-сервис для любых централизованных функций (например, в этом примере голосования) вместо методов страницы. Методы страницы кажутся немного проще в написании, но они также имеют некоторые недостатки в повторном использовании и, как правило, создают иллюзию дополнительной безопасности, которой на самом деле нет.
Это пример выполнения того же действия, которое вы нашли, но с веб-сервисами (комментарии к этому сообщению фактически привели к найденному вами сообщению):
http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/