Можно ли добавить 2 Response.Redirect, один откроется на другой вкладке, а другой откроется на той же вкладке, используя С#?

Когда пользователь нажмет кнопку, я хочу открыть одну страницу .aspx/.html на другой вкладке и открыть одну страницу .aspx/.html на той же вкладке.

Образец кода:

string redirect = "<script>window.open('../User/Profile.html');</script>";
Response.Write(redirect);
Response.Redirect("../User/NewUser.aspx",true);

Спасибо в Адансе!!!


person HP1104    schedule 19.09.2016    source источник
comment
Потенциальный обман: stackoverflow.com/ вопросы/16896284/открытие-адреса-в-новой-вкладке   -  person Sensei James    schedule 19.09.2016
comment
В этом решении используются методы OnClientClick и OnClick. Я не могу этого сделать, потому что мне нужно сначала выполнить код .net, а затем перенаправить только на обе страницы.   -  person HP1104    schedule 19.09.2016


Ответы (3)


Нет, перенаправление ответа записывает в заголовок http значение «местоположение» и может иметь только одно, но вы можете написать javascript, подобный следующему, для выполнения того, что вам нужно:

window.open('../User/Profile.html', 'tabName');
window.location.href = '../User/NewUser.aspx';

Удачи!

person Gustavo Cantero    schedule 19.09.2016

Мы можем добиться этого, используя Javascript и код за страницей.

Вызовите функцию Javascript Window.Open() для свойства Clientclick, чтобы открыть его в новом окне.

и onClick вызовите свой код за кнопкой ButtonClick Event для перенаправления в том же окне.

Страница ASPX:

  <asp:Button ID="Button1" runat="server" Text="Button"   OnClick="Button1_Click" OnClientClick="javascript:window.open('http://google.com','_blank');return true;" />

Код функции On Click:

protected void Button1_Click(object sender, EventArgs e)
{
    Response.Redirect("http://google.com");
}
person Gopalakrishnan    schedule 19.09.2016
comment
Здравствуйте, спасибо за ваш ответ. Я не могу этого сделать, потому что мне нужно выполнить код перед перенаправлением на обе страницы. - person HP1104; 19.09.2016

Этот код не работает в Chrome:

window.location.href = '../User/NewUser.aspx';

Но вы можете использовать этот код вместо window.location.href, тогда он будет работать во всех браузерах:

setTimeout(function(){document.location.href = "page.html"},500);
person Amir H KH    schedule 18.11.2017