Получить строку, измененную в повторителе - PullRequest
0 голосов
/ 20 марта 2010

У меня есть повторитель, который находится внутри панели обновления. Когда пользователь вводит новое значение, ретранслятор обновляется без обратной передачи. Можно ли получить строку, которая была обновлена ​​в JQuery, чтобы я мог применить к ней эффект, чтобы сделать изменение менее заметным? Например, я хотел бы добавить новый цвет только для строки, которая была изменена.

Спасибо

Ответы [ 3 ]

1 голос
/ 20 марта 2010

Я предполагаю, что у вас есть текстовое поле или какой-то элемент управления, вызывающий обратную передачу в UpdatePanel. Если это так, то вы можете использовать обработчик конца запроса и использовать Jquery, чтобы получить строку и анимировать ее:

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandler);

function endRequestHandler(sender, args){
     $("#" + sender._postBackSettings.sourceElement.id).parents("tr").animate(....);
}

или JQuery 1.4.2

function endRequestHandler(sender, args){
     $("#" + sender._postBackSettings.sourceElement.id).parentsUntil("table").animate(....);
}

Надеюсь, это поможет

Обновление: может потребоваться фильтрация по классу CSS или чему-либо, если только вы не хотите, чтобы это происходило со ВСЕМИ элементами обратной передачи в таблице

1 голос
/ 20 марта 2010

Достаточно легко сделать обратный вызов для некоторого JS на странице с помощью ScriptManager. Этот код работал для меня внутри обработчика событий для события, которое я получил через панель обновления.

ScriptManager.RegisterStartupScript(Me, Me.GetType(), "someKey", "someFunc();", True)

Ключ не так важен в этом случае, но это вызовет функцию someFunc JS на странице. Если вы можете пометить класс CSS в обновляемых строках, вы можете определить функцию, которая будет делать эффект подсветки jQuery для этих строк. Я думаю, что такой подход я бы выбрал.

Строка там "someFunc ();" исполняется, и True после этого оборачивает его в соответствующие теги сценария, так что вам не нужно. Я также использовал его (для определенных целей), например, для открытия нового окна, например:

ScriptManager.RegisterStartupScript(Me, Me.GetType(), "viewReport", "window.open('" + reportURL + "','_blank');", True)

Это происходит в событии Button.Click, которое находится внутри панели обновления, поэтому они могут нажать кнопку «Просмотреть отчет», и она отобразится в отдельном окне, без полного обновления страницы.

Надеюсь, это поможет, или вы можете найти способ работать с ним. :)

0 голосов
/ 20 марта 2010

Спасибо за ответы. Мне удалось решить эту проблему, сохранив список вещей, которые пользователь изменил перед отправкой, а затем выполнив поиск этих элементов после обновления панели обновления. Всякий раз, когда элемент был найден, эта строка обновлялась.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...