2015-12-29 73 views
5

ボタンクリックでresponse.redirectを使用して、新しいタブまたは新しいページを開きたいとします。私はいくつかの値を渡すためにクエリ文字列を使用しています。新しいタブでページを開く方法。レスポンスを使用して新しいタブでページを開く方法。 asp.netでリダイレクト

protected void btnSave_Click(object sender, EventArgs e) 
    { 
    ...//some code to insert records 
Response.Redirect("NewQuote.aspx?val=" + this.txtQuotationNo.Text);//displaying gridview in other page to print what needed 

} 
+0

このコードは動作していますが、同じページで開きます。私は新しいタブで開く必要があります –

+0

LinkBut​​tonsとtarget = "_ blank"を見てください – mybirthname

+0

これを試してください:http://stackoverflow.com/questions/16896284/opening-a-url-in-a-new-tab – SenthilPrabhu

答えて

1

リダイレクトはいつもあなたが来た場所と同じページにあり、リダイレクトコールから新しいウィンドウを開くことはできません。

リロード時に新しいページを開くためのJavaScriptコードを挿入するか、Target属性のLinkButtonのような新しいページを開くことができるコントロールに変更することをお勧めします。

3

あなたは以下のようにあなたの設計要素を変更することができます。OnClientClick

<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" OnClientClick ="document.forms[0].target = '_blank';" /> 

Javascriptコード:

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

私はいくつか持っていますコードはイベントの後ろでコードを実行する必要があります。そのイベントの最後に私はリダイレクトする必要があります。しかし、私はあなたの答えは、Javaスクリプトコードは、コードの背後に実行されると思う。 –

+0

@krishnamohanはちょうどJavaScriptコード – tharif

+0

をチェックしていますokok私はurのコードを試します...しかし、私はNewQuote.aspxでいくつかの変数を渡す必要がありますか?val = –

6

はこれを試してみてください。あなたは、HTTP を使用している場合、これは

protected void btnSave_Click(object sender, EventArgs e) 
    { 
    ...//some code to insert records 
Response.Write("<script>window.open ('NewQuote.aspx?val=" + txtQuotationNo.Text+"','_blank');</script>"); 


} 
0

...私のためにしてください動作しますし、このコードは、HTTPSの がで

javascriptの下に行うhttpsを使用することはできませんコード

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

の下に使用しますページ

function shwwindow(myurl) { 
    window.open(myurl, '_blank'); 
} 

in c#コードの後ろ

string URL = ResolveClientUrl("~") + "**internal page path**"; 
    ScriptManager.RegisterStartupScript(this, this.GetType(), "show window", 
    "shwwindow('"+URL+"');", true); 

このコードでは、ブラウザのポップアップブロッカーをバイパスできません。ユーザーはそれを実行する必要があります。 つまり、新しいウィンドウや新しいタブで開きます。つまり、Firefoxのバージョン と新しいタブが開きます。新しいタブが開きます。

お楽しみください!

関連する問題