Подтвердить что ты не робот

Как открыть страницу на новой вкладке при нажатии кнопки в asp.net?

Я хочу открыть страницу на новой вкладке браузера при нажатии кнопки.

Я много искал в google, но ничего не нашел.

Вот моя кнопка.

   <asp:Button ID="btnNewEntry" runat="Server" CssClass="button" Text="New Entry" OnClick="btnNewEntry_Click" />

    protected void btnNewEntry_Click(object sender, EventArgs e)
    {      
        Response.Redirect("New.aspx");
    }

Не могли бы вы помочь мне, как я могу это сделать?

4b9b3361

Ответ 1

Вы можете использовать window.open. Вот так:

protected void btnNewEntry_Click(object sender, EventArgs e)
{ 
   Page.ClientScript.RegisterStartupScript(
   this.GetType(),"OpenWindow","window.open('YourURL','_newtab');",true);
}

Ответ 2

Почему бы просто не вызвать window.open прямо из OnClick?

<asp:Button ID="btnNewEntry" runat="Server" CssClass="button" Text="New Entry" OnClick="window.open('New.aspx')" />

Ответ 3

Используйте JavaScript для основной формы/события нажатия кнопки. Пример:

Context.Response.Write("<script language='javascript'>window.open('AccountsStmt.aspx?showledger=" & sledgerGrp & "','_newtab');</script>")

Ответ 4

Позаботьтесь о reset target, в противном случае все остальные вызовы, такие как Response.Redirect, будут открываться на новой вкладке, которая может быть не такой, какой вы хотите.

<asp:LinkButton OnClientClick="openInNewTab();" .../>

В javaScript:

<script type="text/javascript">
    function openInNewTab() {
        window.document.forms[0].target = '_blank'; 
        setTimeout(function () { window.document.forms[0].target = ''; }, 0);
    }
</script>

Ответ 5

попробуйте это, а не перенаправляйте...

Response.Write("<script>");
Response.Write("window.open('ClickPicture.aspx','_blank')");
Response.Write("</script>");

Ответ 6

Попробуйте это

<a href="#" target="_blank">Link</a>

Ответ 7

Просто такая же проблема. Клиентская сторона не была подходящей, потому что кнопка отправляла информацию из списка.

Видел то же решение, что и Amaranth на way2coding, но это не сработало для меня.

Однако в комментариях кто-то опубликовал аналогичное решение, которое работает

OnClientClick="document.getElementById('form1').target ='_blank';"

где form1 является идентификатором вашей формы asp.net.

Ответ 8

Вы должны использовать Javascript, так как код позади только на стороне сервера. Я уверен, что это работает.

<asp:Button ID="btnNewEntry" runat="Server" CssClass="button" Text="New Entry" OnClick="btnNewEntry_Click" OnClientClick="aspnetForm.target ='_blank';"/>

protected void btnNewEntry_Click(object sender, EventArgs e)
{
  Response.Redirect("New.aspx");
}

Ответ 9

Per Откройте URL-адрес на новой вкладке (а не в новом окне) с помощью JavaScript

Ничто, которое может сделать автор, не может выбрать для открытия в новой вкладке вместо нового окна.

Браузер решает между открытием новой вкладки или открытием нового окна. Вы не можете контролировать это как разработчика.

Ответ 10

Простое решение:

<a href="https://www.google.com" target="_blank">
    <button type="button">Open new tab</button>
</a>

Ответ 11

Вы делаете это на стороне клиента. вы можете разместить гиперссылку html с target = "_ blank" и style = "display: none". после этого создайте функцию javascript, например следующую

function openwindow(){
$("#hyperlinkid").click();
return false;
}

используйте эту функцию как обработчик события onclientclick кнопки, например onclientclick = "return openwindow()" Вам нужно включить jquery на страницу.

Ответ 12

Add_ поставщик - это имя формы

private void add_supplier_Load(object sender, EventArgs e)
{
    add_supplier childform = new add_supplier();
    childform.MdiParent = this;
    childform.Show();
}