Форум программистов, компьютерный форум CyberForum.ru Форум программистов | Компьютерный форум | Форум web-программистов | Форум по электронике и бытовой технике | Форум о софте | Научный форум | Карьера и бизнес
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"));
}
01.10.2011, 22:58
AdAgent
Объявления
02.10.2011, 07:04   #2
Alligieri
CEO
Эксперт C++
 
Регистрация: 16.03.2009
Сообщений: 3,583
Репутация: 2233 (1227)
Лучшие ответы: 22
Открытие новой страницы в новой вкладке

kyjek, для элемента Button1
Код C#
1
OnClientClick="aspnetForm.target ='_blank';"
Другие темы раздела
Регистрация расширений и обработчиков 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
AdAgent
Объявления
03.10.2011, 13:41   #5
Alligieri
CEO
Эксперт C++
 
Регистрация: 16.03.2009
Сообщений: 3,583
Репутация: 2233 (1227)
Лучшие ответы: 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
Форумчанин
 
Регистрация: 22.07.2011
Сообщений: 2,715
Репутация: 1064 (982)
Лучшие ответы: 26
Открытие новой страницы в новой вкладке

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

Если только для одной конкретной кнопки то можно так :
Код 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
Форумчанин
 
Регистрация: 22.07.2011
Сообщений: 2,715
Репутация: 1064 (982)
Лучшие ответы: 26
Открытие новой страницы в новой вкладке

Код 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
Объявления
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему

Похожие темы
Тема Раздел Автор Дата
открытие ссылки в новой вкладке
Здравствуйте! Нужно открыть ссылку в новой вкладке. Или же сделать имитацию нажатия на кнопку, в которой лежит ссылка. <a href="http://clck.ru/97YCC" target="_blank">knopka</a> Главное чтобы это происходило при загрузке сайта, и было обязательно в новой вкладке. P/S и еще...
JavaScript сновидящий 13.03.2014 14:07
открытие в новой вкладке, post запрос
Подскажите элементарный пример открытия в новой вкладке/окне только c POST запросом. Что-то типо того что ниже, но с POSTdata window.open('http://www.yandex.ru/1.php','_blank'); return false;
JavaScript koc94ok 05.10.2013 00:01
открытие в новой вкладке, ХЕЛП!
Есть сайт ughotels.ru Необходимо чтобы все отели/гостиницы и прочие объекты при клике по ним открывались в новой вкладке. Для этого я так понимаю надо вставить в свойство ссылки target="_blank" НО эта ссылка как то генерируется и я не могу разобраться куда вставить это свойство. Вот участок кода...
PHP для начинающих locksey 25.07.2013 20:03
запрет на ссылку на открытие в новой вкладке
есть урл <a href="blablabla"></a> как запретить этому урлу открытие в новой вкладке? и скроллу и через правую кнопку мыши
PHP для начинающих anabenne 03.04.2013 15:16
Открытие в новой вкладке в ИЕ
Есть сайт, на котором можно добавлять закладки. Косяк вот в чем, при нажатии на левую кнопку сайт должен открыться в новой вкладке, так и происходит, везде кроме ИЕ. Отрезок кода который нужно подправить представляю (подчеркнул). Необходимо сделать чтобы ИЕ так же открывал в новой вкладке а не в в...
PHP для начинающих litr 31.10.2011 00:39
Опции темы

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

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