2012-05-08 13 views
20

Chcę otworzyć stronę w nowej karcie przeglądarki po kliknięciu przycisku.jak otworzyć stronę w nowej karcie na przycisku kliknij w asp.net?

Szukałem dużo w google, ale nie mogłem znaleźć niczego.

Oto mój przycisk.

<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"); 
    } 

Czy możesz mi pomóc, jak mogę to zrobić?

+1

http://www.waytocoding.com/2011/02/open-url-in-new-tab-using.html – ray

Odpowiedz

28

Można użyć window.open. Tak:

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

To otworzyć stronę w nowe okno zamiast nowej zakładki i nie działa w firefoxie 10.0.2 :( –

+0

Zaktualizowałeś odpowiedź Proszę wypróbuj ją – Arion

+0

@ Arion to działa, ale to otwiera stronę w nowym oknie zamiast nowej zakładki, więc chcę otworzyć nowy zakładka nie nowe okno prosze o pomoc –

2

spróbować zamiast przekierować ...

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

Musisz użyć kodu Javascript od tyłu jest tylko po stronie serwera. Jestem prawie pewien, że to działa.

<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"); 
} 
+0

To nie działa dla mnie :(:(:( –

2

Try This

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

shuld to zrobić przez stronie klienta. możesz umieścić hiperlink html z target = "_ blank" i style = "display: none". potem utworzyć funkcję javascript, jak po

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

użyć tej funkcji jako OnClientClick obsługi zdarzeń przycisku jak OnClientClick = „return OpenWindow()” Trzeba obejmują jQuery na stronie.

2

Po prostu miał ten sam problem. Strona klienta nie była odpowiednia, ponieważ przycisk przywracał informacje z widoku listy.

Widziałem to samo rozwiązanie co Amaranth na way2coding, ale to nie zadziałało.

Jednak w komentarzach, ktoś pisał podobne rozwiązanie, które ma pracować

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

gdzie form1 jest identyfikator z formularza ASP.NET.

-4

Add_ dostawca jest nazwa postaci

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

Użyj JavaScript dla formularza głównego/zdarzenia z przyciskiem. Przykład:

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

dziękuję, działało bardzo dobrze dla mnie. Zastąpiłem "_newtab" przez "_blank", aby otworzyć okno w nowej zakładce . –

5

Dlaczego po prostu nie wywołać window.open prosto z OnClick?

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

Proste rozwiązanie:

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

Uważaj na resetowania cel, w przeciwnym razie wszystkie inne połączenia jak Response.Redirect otworzy się w nowej karcie, co może być nie to, co chcesz.

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

w JavaScript:

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