#jquery #asp.net #updatepanel #colorbox
#jquery #asp.net #панель обновления #цветовое поле
Вопрос:
Итак, у меня есть настройка цветового поля для функции document.ready:
$(document).ready(function () {
$('#btnMyButton').colorbox({
href: "./Modals/MyModal.aspx",
iframe: true,
height: 450,
width: 550,
opacity: .60,
overlayClose: false,
escKey: false,
onClosed: function () {
var mypage = Sys.WebForms.PageRequestManager.getInstance();
mypage._doPostBack('upGrid', '');
}
});
});
При закрытии цветового поля я делаю обратную отправку на свою панель обновления (UPGrid). В myModal у меня есть кнопка, которая закрывает цветовое поле как таковое:
<asp:Button ID="btnCancel" runat="server" Text="Cancel" OnClientClick="parent.$.fn.colorbox.close(); return false;" CssClass="button cancel" />
Панель обновления содержит сетку, а цветовое поле ведет пользователя на страницу загрузки. Если они успешно загружают файл, программа анализирует данные для заполнения таблицы. Поэтому, когда вызывается OnClosed из colorbox, сетка должна быть обновлена.
Если пользователь нажимает btnMyButton и переходит к нажатию btnCancel в модальном, он не сможет снова нажать btnMyButton, чтобы цветовое поле снова загрузило модальное. Если я перемещу btnMyButton за пределы панели обновления, он будет работать нормально, но я хотел, чтобы btnMyButton внутри панели обновления обрабатывал его скрытие / отображение в зависимости от того, загрузил ли пользователь файл, который он не должен видеть.
Кто-нибудь сталкивался / решал какие-либо проблемы с тем, что colorbox не отображался повторно после закрытия внутри ASP.NET панель обновления?
Ответ №1:
$ (документ).ready () и pageLoad() — это не одно и то же!
Он также вызывается после каждой частичной обратной передачи. В основном он функционирует как комбинация приложений.Инициализация и PageRequestManager.Завершающий запрос.
function pageLoad()
{
$('#btnMyButton').colorbox({
href: "./Modals/MyModal.aspx",
iframe: true,
height: 450,
width: 550,
opacity: .60,
overlayClose: false,
escKey: false,
onClosed: function () {
var mypage = Sys.WebForms.PageRequestManager.getInstance();
mypage._doPostBack('upGrid', '');
}
});
}
Комментарии:
1. Я не думаю, что это проблема того, когда / где выполнять обратную отправку для панели обновления. Проблема скорее в том, что я не могу заставить colorbox функционировать во второй раз, если панель обновления получила обратную отправку.
2. Кажется, это работает, просто еще немного тестирования, и дело сделано.