Я хочу сделать, Response.Redirect("MyPage.aspx")
но открыть его в новом окне браузера. Я делал это раньше, не используя метод сценария регистрации JavaScript. Я просто не могу вспомнить как?
c#
asp.net
response.redirect
hims056
источник
источник
OnClientClick="aspnetForm.target ='_blank';"
мне пришлось использоватьOnClientClick="document.getElementById('Form').target ='_blank';"
Вы можете использовать это как метод расширения
Благодаря этому вы получаете отличное переопределение фактического объекта Response
источник
Поскольку Response.Redirect инициируется на сервере, вы не можете сделать это с помощью этого.
Если вы можете писать прямо в поток ответов, вы можете попробовать что-то вроде:
источник
Создайте свой URL-адрес с помощью обработчика события клика:
Затем:
источник
Уловка с исправлением формы проста, но:
У вас может не быть доступа к коду того, что загружается в новом окне.
Даже если вы это сделаете, вы зависите от того факта, что он всегда загружается без ошибок.
И вы зависите от того факта, что пользователь не нажмет другую кнопку, прежде чем другая страница получит возможность загрузить и запустить fixform.
Я бы предложил сделать это вместо этого:
И настройте fixform на той же странице , как это:
источник
Вы также можете использовать в коде следующим образом
источник
window.open('page.aspx','_blank');
его, он все равно откроется в новом окне с отключенной панелью навигации и отсутствующими кнопками навигации вместо новой вкладки.Это невозможно с Response.Redirect, так как это происходит на стороне сервера и не может заставить ваш браузер выполнить это действие. Что останется в начальном окне? Пустая страница?
источник
popup предложит посетителю безопасный вопрос.
вот мое простое решение: и работаю везде.
источник
Источник: http://dotnetchris.wordpress.com/2008/11/04/c-aspnet-responseredirect-open-into-new-window/
источник
Если вы можете реструктурировать свой код так, чтобы вам не требовалась обратная передача, то вы можете использовать этот код в событии PreRender кнопки:
источник
Вы также можете использовать следующий код, чтобы открыть новую страницу в новой вкладке.
И просто вызовите Response.Redirect ("yourPage.aspx"); за событием кнопки.
источник
Я всегда использую этот код ... Используйте этот код
источник
Вот версия jQuery, основанная на ответе @takrl и @tom выше. Примечание: нет жестко запрограммированного formid (названного выше aspnetForm), а также не используются прямые ссылки form.target, которые Firefox может счесть проблемными:
Затем в вашем js-файле, указанном на ЖЕСТКОЙ странице:
источник
Я использовал Hyperlink вместо LinkButton, и он работал нормально, у него есть свойство Target, поэтому я решил мою проблему. Было решение с Response.Write, но это испортило мой макет, а тот, который был с ScriptManager, при каждом обновлении или возврате снова открывал окно. Вот как я это решил:
источник
Вы можете использовать Page.RegisterStartupScript, чтобы гарантировать, что javascript срабатывает при загрузке страницы.
источник
вы можете открыть новое окно из кода asp.net, используя ajax, как я здесь http://alexandershapovalov.com/open-new-window-from-code-behind-in-aspnet-68/
источник
Ни один из предыдущих примеров у меня не работал, поэтому я решил опубликовать свое решение. В событиях нажатия кнопки приведен код.
Мне пришлось изменить чужой код response.redirect, чтобы он открывался в новом браузере.
источник
Я использовал этот подход, он не требует от вас ничего делать во всплывающем окне (к которому у меня не было доступа, потому что я перенаправлял на файл PDF). Он также использует классы.
Чтобы использовать, добавьте класс «новое окно» к любому элементу. В тег body ничего добавлять не нужно. Эта функция устанавливает новое окно и исправляет его в той же функции.
источник
Я сделал это, поместив target = "_ blank" в кнопку ссылки
затем в загрузке страницы с выделенным кодом просто установите атрибут href:
источник
HTML
Javascript:
И код позади:
источник