Можно ли добавить 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);