2010-09-18 2 views
0

У меня есть кнопка, которая перенаправляет пользователя на другую страницу. Вместо этого я бы хотел, чтобы эта кнопка открывала новое окно, указывающее на это местоположение. Может ли кто-нибудь помочь мне сделать это?В ASP.Net, как я могу открыть ссылку в новом окне?

ASPX:

<asp:ImageButton ID="img_url" 
       CommandName='<%#Eval("url") %>' 
       OnClick="img_url_Click" 
       runat="server" 
       ImageUrl="~/images/products_details.png" 
       /> 

CS:

protected void img_url_Click(object sender, ImageClickEventArgs e) 
{ 
    ImageButton img = sender as ImageButton; 
    Response.Redirect(img.CommandName.ToString()); 
} 

ответ

5

Просто используйте стандартный HTML якорь вместо этого, содержащий изображение.

<a href='<%# Eval("url") %>' target="_blank"> 
    <asp:Image RunAt="server" 
       ID="detailsImage" 
       ImageUrl="~/images/products_details.png" /> 
</a> 
0

Вместо OnClick вы можете использовать onclientclick и передать код JavaScript window.open

что-то вроде:

<asp:ImageButton ID="img_url" 
       CommandName='<%#Eval("url") %>' 
       OnClientClick="window.open('<%#Eval("url") %>')" 
       runat="server" 
       ImageUrl="~/images/products_details.png" 
       /> 
1

Вы можете добавить OnClientClick = "formname.target =" _ пустой" к вам ASP .net.

<asp:ImageButton ID="img_url" 
       CommandName='<%#Eval("url") %>' 
       OnClick="img_url_Click" 
       runat="server" 
       ImageUrl="~/images/products_details.png" 
       OnClientClick="formname.target='_blank'" 
       /> 

Ваш код переадресации будет происходить на вашей новой странице.

+0

Приятный трюк, просто имейте в виду, что с этого момента все остальные кнопки отправки в предыдущем окне откроются в новом окне. –

+0

:) Спасибо, это правда, но вы можете сделать еще один шаг, сбросив цель после щелчка. или что-то типа того. –

Смежные вопросы