30

ボタンをクリックすると、ブラウザの新しいタブでページを開きたい。

私はグーグルでたくさん検索しましたが、何も見つかりませんでした。

これが私のボタンです。

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

どうすればこれを行うことができますか?

4

18 に答える 18

43

を使用できますwindow.open。このような:

protected void btnNewEntry_Click(object sender, EventArgs e)
{ 
   Page.ClientScript.RegisterStartupScript(
   this.GetType(),"OpenWindow","window.open('YourURL','_newtab');",true);
}
于 2012-05-08T06:50:20.573 に答える
5

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>
于 2016-11-18T16:51:01.690 に答える
3

リダイレクトするのではなく、これを試してください...

Response.Write("<script>");
Response.Write("window.open('ClickPicture.aspx','_blank')");
Response.Write("</script>");
于 2012-05-08T06:51:45.397 に答える
3

これを試して

<a href="#" target="_blank">Link</a>
于 2012-05-08T07:23:05.680 に答える
2

ちょうど同じ問題がありました。ボタンがリストビューから情報をポストバックしていたため、クライアント側は適切ではありませんでした。

way2codingで Amaranth と同じソリューションを見ましたが、これはうまくいきませんでした。

ただし、コメントでは、誰かが機能する同様のソリューションを投稿しました

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

ここで、form1 は asp.net フォームの ID です。

于 2012-10-07T10:53:22.583 に答える
1

コード ビハインドはサーバー側のみであるため、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");
}
于 2012-05-08T06:53:57.830 に答える
0

JavaScriptを使用して URL を新しいタブ (新しいウィンドウではなく) で開く

作成者ができることは、新しいウィンドウではなく新しいタブで開くことはできません。

ブラウザーは、新しいタブを開くか、新しいウィンドウを開くかを決定します。これを開発者として制御することはできません。

于 2014-02-27T13:44:48.117 に答える
0

ASPX HTML フロント エンドでこれを実行して、ボタンを新しいタブに移動させ、ASP.NET サイトでページを動的に表示することができます。

        <asp:Button ID="btnNewEntry" CssClass="button"  OnClientClick="window.open('https://website','_blank'); return false;" text="WebsiteName"  runat="server" />
于 2021-02-22T19:38:16.007 に答える
-1

簡単な解決策:

<a href="https://www.google.com" target="_blank">
    <button type="button">Open new tab</button>
</a>
于 2016-04-01T07:57:49.363 に答える
-3

クライアント側で行う必要があります。target="_blank" および style="display:none" を使用して html ハイパーリンクを配置できます。その後、次のようなJavaScript関数を作成します

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

onclientclick="return openwindow()" のようなボタンの onclientclick イベント ハンドラーとしてこの関数を使用します ページに jquery を含める必要があります。

于 2012-05-08T07:49:28.457 に答える
-4

Add_supplier はフォームの名前です

private void add_supplier_Load(object sender, EventArgs e)
{
    add_supplier childform = new add_supplier();
    childform.MdiParent = this;
    childform.Show();
}
于 2013-11-27T10:10:37.543 に答える