2009-02-12 3 views
2

J'utilise asp.net et je travaille avec un gridview. J'ai un des champs dans mon GridView mis en place comme HyperLinkField qui représente le nom de la catégorie. Je tire le nom et l'identification d'une base de données et je ne peux jamais être sûr de ce qu'ils sont parce qu'ils sont ajoutés séparément. Je veux pouvoir passer un CategoryId changeant à une autre page par l'intermédiaire de la chaîne de requête. Comment puis-je faire cela avec un GridView?Utilisation de GridView HyperLinkField pour définir un CategoryID

Répondre

2

Dans votre champ de lien hypertexte, définissez les DataNavigateUrlFields à votre colonne ID et définissez le DataNavigateUrlFormatString à l'URL pour accéder à (où {0} sera remplacé par ID)

<asp:HyperLinkField 
    DataNavigateUrlFields="ID" 
    DataNavigateUrlFormatString="Target.aspx?ID={0}" 
    DataTextField="Name" 
    Target="_blank"> 
</asp:HyperLinkField> 
+0

voulez-vous dire DataTextField = "Nom ", alors vous n'avez pas besoin de DataTextFormatString – bendewey

-1

Vous pouvez le faire en utilisant un <asp:TemplateField /> comme une de vos colonnes au lieu d'un <asp:BoundField />

Exemple de code:

<asp:TemplateField HeaderText="Name"> 
    <ItemTemplate> 
     <a href="/new_page?categoryId=<%#Container.DataItem("id")"><%#Container.DataItem("name")</a> 
    </ItemTemplate> 
</asp:TemplateField> 

Il pourrait y avoir un moyen plus propre de faire cela plutôt que d'utiliser l'élément d'ancrage , mais vous devriez avoir l'idée.

Questions connexes