Дополнительно
Программное закрытие aspx-страницы из кода сзади
Каков наилучший способ закрыть страницу ASPX из code-behind?
У меня есть обработчик событий кнопки, который я хочу закрыть страницу после того, как пользователь нажмет кнопку ASP.NET на странице. Я пытался программно добавить метод JavaScript, содержащий команду window.close()
в событие OnClientClick
для закрытия страницы, но это не работает. Кнопка также является asp:AsyncPostBoskTrigger
для панели обновления AJAX.
Приложение использует .NET Framework 3.5.
31
13
Как правило, сделать что-то вроде:
в
Однако, имейте в виду, что различные вещи произойдут в различные scenerios. В Firefox выиграл'т позволю тебе закрыть окно, что это'т вы открыли (открыл окно.открыть()`).
ИЕ7 будет запрашивать у пользователя с "Эта страница пытается закрыть (Да | нет)" и диалог.
В любом случае, вы должны быть готовы иметь дело с окна не всегда закрываются!
Одним из способов исправить на 2 выше проблем является использование:
в
И создать close.html:
Обратите внимание, что close.html приведет к дефолту.aspx, если окно не закрывается через 2 сек по какой-то причине.
ОБНОВЛЕНИЕ: Я учел все ваши пожелания и пришел к следующему решению:
В коде сзади:
В странице aspx:
Постбэк - это процесс повторной загрузки страницы, поэтому если вы хотите, чтобы страница закрылась после постбэка, вам нужно установить свой сценарий window.close() javascript для запуска при событии onload браузера во время постбэка, обычно это делается с помощью функции
ClientScript.RegisterStartupScript()
.Но уверены ли вы, что это то, что вы хотите сделать? Закрытие страниц обычно раздражает пользователей.
Вы должны внедрить сценарий запуска, который закроет страницу после завершения postback.
Вам просто нужно добавить это свойство в элемент ASP:кнопка (например):
Он отлично работает.
Если вы используете RadAjaxManager, то вот код, который помогает:
Вы можете закрыть окно, просто вставив код в окне закрытие кнопка'ы событие OnClientClick в разметке
Для тех, кто интересно, почему они не могут получить ответы на предоставленные работы это's, потому что страница должна быть открыта с помощью JavaScript для того, чтобы быть закрыт с помощью JavaScript.
Поскольку большинство людей находят этот вопрос скорее всего будет использоваться АСП
АСП:гиперссылка
или ASP редирект какой-то, чтобы перейти на страницу, которая должна быть закрыта. Эти методы перенаправления Дон'т использовать JavaScript и поэтому не будет закрывать на JavaScript.Я нашел простое решение для моего приложения и что'ы исключения
navigateurl свойство
и черезАСП:гиперссылка.Атрибуты, чтобы добавить
щелчку` в гиперссылку, которая использует Java скрипт, чтобы открыть окно, которое нужно закрыть с помощью JavaScript.Выше navigateurl свойство удаляется, а вместо этого мы придаем наши события click.
И в коде страницы, содержащей наши aspHyperlink у нас есть JavaScript для открытия URL-адрес, предоставленный Rinto
Теперь все страницы открыты с openInNewTab могут быть закрыты с представленными ответами.
Вы можете просто использовать это.. короткое и простое.
Надеюсь, что это помогает.
если вы открываете страницу на JavaScript всплывающее окно тогда
будет делать эту работу
Для закрытия asp.net приложения Windows,
" эта.закрыть(); "и
т. е.: