У меня текущая проблема, давайте объясним контекст раньше:
У меня есть модальный расширитель всплывающих окон, содержащий форму. Есть функция «Сохранить и добавить новый», когда пользователь нажимает на эту кнопку, данные в форме сохраняются в базе данных во время обратной передачи и страница перезагружается.
Я хочу, чтобы это модальное всплывающее окно снова появилось на странице page_load, позволяя пользователю вводить новые данные, не нажимая повторно кнопку, которая отображает это модальное всплывающее окно.
Сначала я попытался назвать это так:
ClientScript.RegisterStartupScript(Page.GetType(), "ModalPopup", "ShowModalPopup(""" & Me.formModalButton.ID & """);", True)
но проблема заключалась в том, что когда функция вызывалась, мое модальное всплывающее окно еще не существовало на странице. Из-за этого код на
var modal = $find('myModal');
Итак, я нашел другой способ, и он работает почти идеально.
ClientScript.RegisterStartupScript(Page.GetType(), "ModalPopup", "Sys.Application.add_load(function() {ShowModalPopup(""" & Me.formModalButton.ID & """)};", True)
Модальное окно отображается при загрузке страницы, как я хочу, но проблема в том, что если я нажимаю любую другую кнопку на своей странице, модальное всплывающее окно также появляется снова.
Пример: у меня есть еще одно модальное всплывающее окно для удаления данных, когда я нажимаю на кнопку, появляются оба модальных окна, что не круто.
Кто-нибудь знает, как это исправить или как это сделать лучше?
P.S. Я не вызываю модальное всплывающее окно на стороне сервера, потому что функция javascript существует на странице, поэтому я не хочу создавать копию этой функции в RegisterStartupScript.
Спасибо за ваше время.