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

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

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

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

Спасибо заранее!

3 ответа

Решение

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

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

Удачи!

Мы можем добиться с помощью Javascript и кода позади страницы

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

и onClick вызовите ваш код, вот кнопка Click Event, чтобы перенаправить на то же окно.

Страница ASPX:

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

Код за функцией "при нажатии":

protected void Button1_Click(object sender, EventArgs e)
{
    Response.Redirect("http://google.com");
}

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

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

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

setTimeout(function(){document.location.href = "page.html"},500);
Другие вопросы по тегам