2010-09-18 4 views
0

J'ai un bouton qui redirige l'utilisateur vers une autre page. Au lieu de cela, je voudrais que ce bouton ouvre une nouvelle fenêtre qui pointe vers cet emplacement. Quelqu'un peut-il m'aider s'il vous plaît à faire cela?Dans ASP.Net, comment puis-je ouvrir un lien dans une nouvelle fenêtre?

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

Répondre

5
au lieu

Il suffit d'utiliser une ancre HTML standard, contenant l'image.

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

Au lieu de onclick vous pouvez utiliser onclientclick et passer le javascript window.open

quelque chose comme:

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

Vous pouvez ajouter OnClientClick = "formname.target = '_ blank'" pour vous ASP Contrôleur .net

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

Votre redirection de codebehind se produira sur votre nouvelle page.

+0

Bon tour, gardez à l'esprit que tous les autres boutons de soumission de la fenêtre précédente s'ouvriront dans une nouvelle fenêtre. –

+0

:) merci, c'est vrai, mais vous pouvez aller encore plus loin en réinitialisant la cible une fois cliquée. ou quelque chose comme ça. –

Questions connexes