Панель Обновления ASP.NET мешает jQuery работать

MVP: представление является главным.

представление, в большинстве случаев, создает своего предъявителя. Предъявитель будет взаимодействовать с моделью и управлять представлением через интерфейс. Представление будет иногда взаимодействовать с предъявителем, обычно через некоторый интерфейс. Это сводится к реализации; Вы хотите, чтобы представление назвало методы на предъявителе, или Вы хотите, чтобы представление имело события, которые слушает предъявитель? Это сводится к этому: представление знает о предъявителе. Представление делегирует предъявителю.

MVC: контроллер является главным.

контроллер создан или получен доступ на основе некоторого события/запроса. Контроллер тогда создает соответствующее представление и взаимодействует с моделью для дальнейшего конфигурирования представления. Это сводится к: контроллер создает и справляется с представлением; представление является ведомым устройством контроллера. Представление не знает о контроллере.

5
задан BigBlondeViking 30 July 2009 в 20:56
поделиться

4 ответа

Вы можете добавить на свою страницу асинхронный триггер для вызова функции JavaScript / jQuery после любого асинхронного вызова.

Поместите этот код в Page_Load () вашего aspx-кода позади:

//This script handles ajax postbacks, by registering the js to run at the end of *AJAX* requests
Page.ClientScript.RegisterStartupScript(typeof(Page), "ajaxTrigger", "Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);", true);
Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "EndRequest", "function EndRequestHandler(sender, args){AsyncDone();}", true);

Этот фрагмент кода будет специально вызывать функцию JavaScript / jQuery AsyncDone ();

7
ответ дан 18 December 2019 в 13:17
поделиться

Используйте live .

$("div").live("mouseenter", function(){
      // do something
    });
1
ответ дан 18 December 2019 в 13:17
поделиться

попробуйте использовать

function pageLoad(sender, args)
{ 
   // JQuery code goes here
}

вместо

   $(document).ready(function() {
      // JQuery code goes here
   });

. Это сработает при нажатии кнопки, которая находится на панели обновления; он отправляется на сервер и повторно добавит jquery, когда вернется. Однако это не работает с асинхронными обратными передачами, вызванными таким элементом управления, как eo: AJAXUploader, но объединяя это с версией Bryans, вы также можете обрабатывать асинхронные обратные передачи

3
ответ дан 18 December 2019 в 13:17
поделиться

Посмотрите это сообщение в блоге от Encosia, который дает вам несколько способов повторной привязки после асинхронных обновлений. Я обнаружил, что это решило мою аналогичную проблему.

3
ответ дан 18 December 2019 в 13:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: