Я пытаюсь создать три кнопки.ButtonAdd добавляет новый вводный экран и открывает редактор в новом окне, чтобы внести изменения в указанный экран.Кнопка 1 отображается только в том случае, если пользователь еще не добавил начальный экран.ButtonRemove удаляет начальный экран.ButtonEdit открывает редактор для внесения изменений на экране вступления.ButtonRemove и ButtonEdit видны только в том случае, если пользователь уже добавил начальный экран.У меня проблема с ButtonAdd.
ButtonAdd необходимо выполнить серверный вызов, чтобы фактически создать объект и сохранить его в базе данных:
serverClickFunction(object sender, EventArgs e)
{
activity.addIntroScreen();
}
ButtonAdd также необходимо выполнить клиентский вызов, чтобы открыть редактор,URL, который открывает редактор, должен знать определенную информацию о новом объекте (screenid и contentid):
function OpenEditIntro() {
var tviewer = window.open('../library/edit.aspx?&ScreenID=<%#
this.introScreenID %>&contentID=<%# this.introContentID%>')
tviewer.focus();
}
Таким образом, по сути, сначала необходимо выполнить серверный вызов.ИЛИ иначе клиентский вызов не знает, что использовать для screenID или contentID.Поэтому я попытался вызвать клиентскую функцию с сервера или кода.Вот так:
serverClickFunction(object sender, EventArgs e)
{
activity.addIntroScreen();
ScriptManager.RegisterStartupScript(this, this.GetType(),
"openEdit", "OpenEditIntro();", true);
}
Это сработало великолепно.За исключением того, что блокировщикам всплывающих окон не понравилось это.Таким образом, они не позволят всплывающему окну редактирования.Есть ли способ обойти блокировку этого всплывающего окна?Или есть другой подход к этой проблеме, который я просто не рассматриваю?