Открытие URL-адреса с помощью ImageButton


Использование asp.net | C#

Я хочу, чтобы мой ImageButton открывал URL-адрес, когда я нажимаю на него. Я наконец-то загрузил свое изображение, и оно щелкает, но когда я нажимаю на него, ничего не происходит. Вот код, который у меня есть до сих пор:

Страница aspx

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

аспкс.страница cs

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

2 ответа:

Вы хотите сделать редирект, а не запустить процесс. Попробуйте это:

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

Кроме того, вы можете просто установить атрибут PostBackUrl в элементе управления и не иметь необходимости в событии на стороне сервера.

Вы можете сделать это на стороне клиента:

Это откроется в другом окне:

<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());" />