2010-12-05 4 views
0

J'ai une liste des éléments qui binded à GridView:JavaScript gridview HyperLinkField NavigateUrl

class Item 
    { 
     public string CategoryName { get; set; } 
     public int CategoryID { get; set; } 
    } 

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">     
      <Columns> 
       <asp:BoundField DataField="CategoryID" /> 
       <asp:HyperLinkField DataTextField="CategoryName" NavigateUrl="javascript:alert('Hello World');"/>    
      </Columns> 
     </asp:GridView> 

Tout ce que je dois montrer l'CategoryName dans la fenêtre d'alerte au lieu de « Bonjour tout le monde ».

Répondre

1

Utilisez un champ de modèle à la place:

<asp:TemplateField> 
     <ItemTemplate> 
      <a href="javascript:alert('<%# Eval("CategoryName") %>');"><%# Eval("CategoryName") %></a> 
     </ItemTemplate> 
    </asp:TemplateField> 

En outre, les meilleures pratiques suggèrent l'utilisation onclick dans Ancres au lieu de javascript: pseudo-protocole

+0

Il provoque à attendu ')' erreur: Code: 0, ligne : 1, caractère: 18. Je n'avais aucune connaissance de la situation. J'ai posté la première ligne dans les commentaires à la première réponse – purum

+0

modèle fonctionne très bien, merci! – purum

+0

N'oubliez pas d'échapper 'dans le CategoryName! – ScottE

Questions connexes