2010-06-16 4 views
1

J'ai un label et je veux y ajouter un lien.Ajout d'un lien vers une étiquette ASP.NET (VB)

Je veux utiliser javascript comme:

MyLabel.Attributes.Add("`onclick`", "javascript:`SOME_CODE`") 

Que dois-je ajouter (SOME_CODE) pour rediriger l'utilisateur vers un autre lien.

Merci.

+0

ont les réponses répondu à votre question? –

Répondre

3

Avez-vous essayé: window.location = 'http://google.com'? Quelle est la raison particulière pour laquelle vous voulez utiliser Javascript pour cela, et pas seulement le contrôle HyperLink?

Mise à jour:

Vous pouvez utiliser une balise normale <a href="http://google.com">link</a> ou utilisez la commande ASP.Net HyperLink:

C'est le balisage:

<asp:HyperLink ID="MyHyperLinkControl" NavigateUrl="http://google.com" runat="server" /> 

Ceci est si vous voulez l'ajouter à partir du code-behind:

HyperLink link = new HyperLink(); 
link.NavigateUrl = "http://google.com"; 

parentControl.Controls.Add(link); 

parentControl, est le conteneur que vous souhaitez ajouter à, par exemple une cellule dans une table ou un panneau.

Voir here pour plus d'informations sur la façon d'ajouter un contrôle à un panneau

+0

Ça marche. Mais comment puis-je utiliser HyperLink Control? –

+0

Je pense que 'window.location.href' est plus fiable que' window.location' entre différents types de navigateurs. –

+1

@Paperjam, vous avez raison window.location.href serait le plus correct car window.location est fondamentalement l'objet contenant d'autres propriétés, parmi lesquelles href. window.location peut toutefois être utilisé comme raccourci pour window.location.href. –

0
<a href="http://google.com" >Go to Google</a> 
1

Il suffit d'utiliser une balise d'ancrage plaine (<a >), mais mettre l'étiquette intérieur l'ancre (l'inverse est pas strictement html valide). Si vous ne voulez pas qu'il apparaisse comme un lien à chaque fois, vous pouvez le faire en omettant l'attribut href. Ceci est facile à faire avec un contrôle serveur <asp:HyperLink> normal comme si:

<asp:HyperLink id="..." runat="server"><asp:Label ... ></asp:Label></asp:HyperLink> 

Maintenant, l'attribut href sera rendu que si vous définissez réellement la propriété NavigateUrl dans votre code. Vous pourriez également trouver que l'utilisation d'un <asp:HyperLink> remplace complètement le besoin de l'étiquette.

0

Si cela n'a rien à voir avec votre previous question, utilisez un contrôle au lieu Hyperlink d'un Label:

Dim Hyperlink1 As New Hyperlink 
    Hyperlink1.Text = "XYZ" 
    Hyperlink1.NavigateUrl = "http://www.google.com" 

    Dim Literal1 As New Literal 
    Literal1.Text = "<br />" 

    ' Add the control to the placeholder 
    PlaceHolder1.Controls.Add(Hyperlink1) 
    PlaceHolder1.Controls.Add(Literal1) 
Questions connexes