Обратная передача asp.net с помощью jquery ajax и jquery - PullRequest
0 голосов
/ 03 декабря 2009

У нас есть метод на странице asp.net, который вызывается нажатием кнопки. Проблема в том, что метод занимает много времени для обработки. Меня попросили, чтобы страница вызывала метод (или вызывал обратную передачу), а затем отображала диалоговое окно jquery.ui, которое сообщит пользователю, что этот процесс может занять много времени. Я смотрю на сериализацию формы asp.net и выполняю $ .post (), но, если честно, я полностью застрял на том, будет ли это вообще работать и как я могу предотвратить фактическую обратную передачу и просто отобразить диалог. Кто-нибудь имел опыт работы с этим, который может дать мне несколько советов?

Я нашел это http://dotnet.dzone.com/news/eliminating-postbacks-setting-, но я не уверен, что это немного OTT. Статья немного затянута.

Надеюсь, что кто-то может помочь.

Ответы [ 2 ]

1 голос
/ 03 декабря 2009

Было бы проще, если бы вы могли использовать UpdatePanel (который в основном сводится к способу ASP.NET делать то, что вы рассматриваете с помощью $ .post (), но автоматически получает правильные вещи, специфичные для ASP.NET).

Затем вы можете сделать что-то простое, как это: http://encosia.com/2008/10/04/using-jquery-to-enhance-aspnet-ajax-progress-indication/

0 голосов
/ 08 декабря 2009

Вы можете отправить запрос на публикацию через javascript (AJAX) без использования ajax framework asp.net. Другими словами, делайте это вручную. В этом случае идеально подойдет Ajax, потому что вы пытаетесь отобразить индикаторы загрузки во внешнем интерфейсе, ожидая ответа от сервера.

Чтобы сделать это, уберите логику из метода button_click и поместите ее на отдельную страницу (text.aspx см. Ниже). Затем вы можете вызвать эту страницу следующим образом (используя JQuery):

$('#ProgressIndicator').show();
$.post("test.aspx", function(data){
  alert("Data Loaded: " + data);
  $('#ProgressIndicator').hide();
});

Если вы не можете использовать JQuery в своем проекте, см .: AJAX

...