Форум программистов и сисадминов CyberForum.ru
Вернуться   Форум программистов и сисадминов CyberForum.ru > Форум Форум программистов > Форум .NET > Форум C# .NET > Форум C# под Web, ASP.NET
Восстановить пароль Регистрация

Ответ Создать новую тему
 
Старый 01.10.2011, 22:58   #1
kyjek
Новичок
 
Регистрация: 01.10.2011
Сообщений: 21
Репутация: 1 (1)
Открытие новой страницы в новой вкладке / C# под Web, ASP.NET

Открываю новую страницу с помощью Response.Redirect, но предыдушая страница закрывается.
Что следует добавить в код чтобы новая стр открывалась в новой вкладке.

Код C#
1
2
3
4
protected void Button1_Click(object sender, EventArgs e)
{
  Response.Redirect(ResolveUrl("~/m.xml"));
}
Старый 02.10.2011, 07:04   #2
Alligieri
CEO
Эксперт C++
 
Аватар для Alligieri
 
Регистрация: 16.03.2009
Сообщений: 3,583
Репутация: 2231 (1225)
Лучшие ответы: 22
Открытие новой страницы в новой вкладке

kyjek, для элемента Button1
Код C#
1
OnClientClick="aspnetForm.target ='_blank';"
Другие темы раздела Форум программистов C#. Программирование с использованием технологии ASP.NET
Регистрация расширений и обработчиков C# ASP.NET
Создал handler. На локалке спокойно добавил в system.web httpHandlers <add validate="false" verb="*" path="ImageHandler.ashx" type="Project1.Core.ImageRequestHandler,Project1"/> А на сервере вообще ничего нельзя добавить в system.web httpHandlers сразу весь сайт подвергается 500 ошибке.
C# ASP.NET HTTPS запрос на сервер из другого сервера
Здравствуйте. Очень нужна помощь! У меня есть свой сайт с галереей картинок, но картинки я хочу заливать на другой хост. Уже договорился с владельцами этого хоста, буду заливать через АРІ(получил ключи). Получается авторизироватся через оAuth, получаю токен. Потом отправляю запрос на их сервер уже...
Старый 02.10.2011, 11:01  [ТС]   #3
kyjek
Новичок
 
Регистрация: 01.10.2011
Сообщений: 21
Репутация: 1 (1)
Открытие новой страницы в новой вкладке

Добавил строчку OnClientClick="aspnetForm.target ='_blank';" как я понял сюда:

Код C#
1
2
3
<asp:Button ID="Button1" runat="server" 
            OnClientClick="aspnetForm.target ='_blank';" Text="Button" 
            onclick="Button1_Click" />

Код в кнопке:
Код C#
1
2
3
4
5
6
7
8
9
10
11
12
public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
 
        }
 
        protected void Button1_Click(object sender, EventArgs e)
        {
            Response.Redirect("WebForm2.aspx");
        }
    }

Выдает ошибку:
[ERORR]Ошибка выполнения Microsoft JScript: 'aspnetForm' - определение отсутствует[/ERORR]

Добавлено через 3 минуты
А все допер что вставить
Код C#
1
OnClientClick="form1.target ='_blank';"
Старый 03.10.2011, 13:20  [ТС]   #4
kyjek
Новичок
 
Регистрация: 01.10.2011
Сообщений: 21
Репутация: 1 (1)
Открытие новой страницы в новой вкладке

работает все хорошо.Но если на форме расположены 2или более кнопок, а в новом окне мне надо чтобы открывалось только по нажатию на одну. Т.е. проблема в том что после нажатия на кнопку с
Код C#
1
OnClientClick="form1.target ='_blank';" 
все кнопки открывают новые формы( такие же) как убрать этот эффект?
Старый 03.10.2011, 13:20
Google
Объявления
Старый 03.10.2011, 13:41   #5
Alligieri
CEO
Эксперт C++
 
Аватар для Alligieri
 
Регистрация: 16.03.2009
Сообщений: 3,583
Репутация: 2231 (1225)
Лучшие ответы: 22
Открытие новой страницы в новой вкладке

kyjek, вы хотите все и сразу

Код JavaScript
1
2
3
4
5
6
7
8
9
10
<script type="text/javascript"> 
        function fixform() { 
            if (opener.document.getElementById("aspnetForm").target != "_blank") return; 
 
            opener.document.getElementById("aspnetForm").target = ""; 
            opener.document.getElementById("aspnetForm").action = opener.location.href; 
            } 
</script> 
 
<body onload="fixform()"> 
Старый 12.02.2012, 10:06   #6
ichgo
Форумчанин
 
Регистрация: 08.01.2011
Сообщений: 166
Репутация: 16 (16)
Открытие новой страницы в новой вкладке

Добрый день! А не подскажите что именно надо вводить вот сюда?

Код JavaScript
1
OnClientClick="form1.target ='_blank';" 
Я уже попробовал все варианты, и вписать название страницы, и id форму на странице
Хелп!
Старый 12.02.2012, 12:16   #7
sau
Форумчанин
 
Аватар для sau
 
Регистрация: 22.07.2011
Сообщений: 2,630
Репутация: 1034 (952)
Лучшие ответы: 24
Открытие новой страницы в новой вкладке

Если у формы адрес выставлять то на любое событие отправки формы (для всех постбэк контролов) данные будут передаваться по указанному адресу.

Если только для одной конкретной кнопки то можно так :
Код HTML5
1
OnClientClick="window.open('WebForm2.aspx')"
Ну или так:
Код C#
1
2
3
4
5
protected void Button1_Click(object sender, EventArgs e)
{
  //тут может быть дополнительная логика обработки события
  ClientScript.RegisterStartupScript(this.GetType(), "window.open", "window.open('WebForm2.aspx')", true);
}
В общем вариантов много, какой удобнее зависит от задачи
Старый 15.02.2012, 10:07   #8
ichgo
Форумчанин
 
Регистрация: 08.01.2011
Сообщений: 166
Репутация: 16 (16)
Открытие новой страницы в новой вкладке

Добрый день! К сожалению предложенные вами варианты не совсем удобно, вот как сейчас выглядит обработчик кнопки, по которой я должен открыть другую страницу
Код C#
1
2
3
4
5
6
7
8
9
10
11
        protected void button1_Click(object sender, EventArgs e)
        {
            DateTime forenddate = Convert.ToDateTime(calendar1.SelectedDate);
            string enddate = forenddate.ToShortDateString();
            string url;
            string zapfornewpage= "тут у меня запрос с параметром";
 
            url = "notmainpage.aspx?zapros=" + zapfornewpage;
 
            Response.Redirect(url);
        }
А вот так обрабатывается вторая страница

Код C#
1
2
3
4
5
6
7
8
9
10
11
12
13
    protected void Page_Load(object sender, EventArgs e)
    {
        Oracle.DataAccess.Client.OracleConnection conn = new Oracle.DataAccess.Client.OracleConnection();
        string zap = Request.QueryString["zapros"];
        string cs = "тут коннект к БД";
        conn.ConnectionString = cs;
        conn.Open();
        Oracle.DataAccess.Client.OracleCommand zzzzzz = new Oracle.DataAccess.Client.OracleCommand(zap, conn);
        Oracle.DataAccess.Client.OracleDataReader rrr = zzzzzz.ExecuteReader();
        datagrid1.DataSource = rrr;
        datagrid1.DataBind();
        conn.Close();
}
Аналогично все обрабатывается на ура, страница формируется верно, но не в новом окне(вкладке)
а заменяет главную страницу,
в случае если я добавляю
Код HTML5
1
OnClientClick="window.open('WebForm2.aspx')"
При нажатии на кнопку, страница грузится в новом окне, но не передаются параметры на новую страницу, и я получаю ошибку

Посоветуйте как тут правильнее поступить, Спасибо!
Старый 15.02.2012, 12:22   #9
sau
Форумчанин
 
Аватар для sau
 
Регистрация: 22.07.2011
Сообщений: 2,630
Репутация: 1034 (952)
Лучшие ответы: 24
Открытие новой страницы в новой вкладке

Код C#
1
2
3
4
5
6
7
8
9
10
11
protected void button1_Click(object sender, EventArgs e)
        {
            DateTime forenddate = Convert.ToDateTime(calendar1.SelectedDate);
            string enddate = forenddate.ToShortDateString();
            string url;
            string zapfornewpage= "тут у меня запрос с параметром";
 
            url = "notmainpage.aspx?zapros=" + zapfornewpage;
 
            ClientScript.RegisterStartupScript(this.GetType(), "window.open", "window.open(url)", true);
        }
А вообще не вижу большого смысла делать запрос лишь для формирования url по выбранной дате, это все можно на клиенте сделать и открыть новое окно.
Старый 15.02.2012, 13:19   #10
ichgo
Форумчанин
 
Регистрация: 08.01.2011
Сообщений: 166
Репутация: 16 (16)
Открытие новой страницы в новой вкладке / C# под Web, ASP.NET

Это сделано не для передачи даты, просто есть 1 страница, и в зависимости от того, по какой кнопке идет переход на неё, идут разные запросы и формируются разные таблицы.

Добавил
Код C#
1
ClientScript.RegisterStartupScript(this.GetType(), "window.open", "window.open(url)", true);
Теперь по нажатию на кнопку ничего не происходит, просто обновляет текущую страницу.
В чем может быть дело?

Заранее спасибо!
Старый 15.02.2012, 13:19
Yandex
Объявления
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему

Похожие темы
Тема Автор
Visual Basic .NET Новое окно webbrowser в новой вкладке TabControl
Здравствуйте. На форме TabControl ,на первой вкладке webbrowser.При открытии ссылки в webbrowser открывается новое окно IE, мне необходимо открывать все новые окна в новых вкладках TabControl. такой вариант: Private Sub WebBrowser1_NewWindow(ByVal sender As Object, ByVal e As...
СергейМ
HTML, CSS Открыть ссылку в новом окне, а не в новой вкладке
Здравствуйте, полчаса бьюсь ищу в интернете как открыть ссылку в новом окне, подчеркиваю окне, а не вкладке. Все, что находил в ИЕ это открытие ссылки с помощью "TARGET="_blank" , но в действительности ссылка открывается в новой вкладке, а не окне, что мне не подходит. Пробовал через javascript c...
amistad-dm
PHP для начинающих Открытие в новой вкладке в ИЕ
Есть сайт, на котором можно добавлять закладки. Косяк вот в чем, при нажатии на левую кнопку сайт должен открыться в новой вкладке, так и происходит, везде кроме ИЕ. Отрезок кода который нужно подправить представляю (подчеркнул). Необходимо сделать чтобы ИЕ так же открывал в новой вкладке а не в в...
litr
Visual Basic .NET сделать так чтобы при клике, станицы открывались в новой вкладке
Вот код примитивного браузера Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click WebBrowser1.Navigate(ComboBox1.Text) End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)...
bulloc
C# под Web, ASP.NET Открытие новой страницы
Возможно ли написать ссыку на открытие новой страницы в только в Internet Explorer из любого браузера?
ibris
Опции темы

Текущее время: 13:12. Часовой пояс GMT +4.

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.