2010-03-17 3 views
1

A avoir un ListView rendu avec plusieurs éléments.
Maintenant, je veux basculer certains attributs HTML avec JQuery. Par conséquent, il serait préférable d'avoir accès à ces éléments via un identifiant unique.Comment définir dynamiquement un ID de contrôle dans ListView Template?

Mais en essayant de créer une « dynamique » et, par conséquent ID unique par

<tr runat="server" ID='<%# this.GetUniqueID() %>'> 
</tr> 

résultats dans une erreur qui me dit que l'ID doit être simple et ne peut pas être par un appel à une méthode.

Je sais que je peux créer dynamiquement des contrôles dans le code-behind et y définir l'ID. Mais dans ce cas, je préfère laisser le contenu être rendu par le ListView lui-même. Cela m'amène à la conclusion que l'idée de définir un ID dynique dans le modèle est totalement fausse. Comment puis-je atteindre le comportement souhaité?

Modifier: Ok je viens de découvrir que je peux définir l'ID avec un BindingExpression, comme

ID='<%# Eval("MyColumnWithUniqueID") %>' 

Toujours est-il une autre, ou mieux encore une solution à cela?

Répondre

1

Vous pouvez le faire:

<tr id='<%# "row" + Container.DataItem %>'> 

Cela donnera un identifiant numérique avec un préfixe « ligne » en utilisant la position de l'élément dans la liste.

Donc, vous obtiendrez simplement row0, row1, etc.

Questions connexes