3

asp.net を使用 | C#

クリックすると ImageButton で URL が開くようにします。最終的に画像をロードしてクリックしますが、クリックしても何も起こりません。これが私がこれまでに持っているコードです:

aspx ページ

   <asp:ImageButton ID="Button1" runat="server" ImageUrl="~/images/button.gif" 
    onclick="Open_Click"></asp:ImageButton>

aspx.cs ページ

    protected void Open_Click(object sender, System.Web.UI.ImageClickEventArgs e)
    {
        try
        {
            System.Diagnostics.Process.Start("http://www.website.com");
        }
        catch { }
    }
4

2 に答える 2

3

プロセスを開始するのではなく、リダイレクトを実行したい。これを試して:

protected void Open_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
    try
    {
        Response.Redirect("http://www.website.com");
    }
    catch { }
}

さらに、コントロールに PostBackUrl 属性を設定するだけで、サーバー側のイベントは必要ありません。

于 2013-07-24T14:20:36.797 に答える
0

クライアント側でそれを行うことができます:

これは別のウィンドウで開きます。

<asp:ImageButton OnClientClick="window.open('/xxx/xxx.aspx');

または、これは同じウィンドウで開きます。サーバー コードが実行されないように、javascript は false を返す必要があります。

    <script>
        function ReDirect() {
            location.href = '/xxx/xxx.aspx';
            return false;
        }
    </script>

asp:ImageButton OnClientClick="javascript:return(ReDirect());" />
于 2014-10-31T18:46:35.423 に答える