2009-07-10 5 views
1

Comment puis-je accéder à un contrôle (linkbutton dans mon cas) situé dans la section itemtemplate du contrôle datalist d'asp? Par exemple: Je veux définir le linkbutton sur false, mais je n'arrive pas à comprendre comment le code-behind me renvoie la référence.Masquage dynamique d'un élément à partir du ItemTemplate de DataList

code Exemple:

<asp:datalist id="datalist1" runat="server"> 
<ItemTemplate> 
    <asp:label id="label1" runat="server"></asp:label> 
    <asp:linkbutton id="editButton" runat="server" text="Edit"></asp:linkbutton> 
</ItemTemplate> 
</asp:datalist> 

Merci.

Répondre

3

vous devez gérer l'événement lié aux données d'article. Ensuite, trouver le linkbutton et définissez ses propriétés là comme ceci:

protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e) 
{ 
    LinkButton lb=e.Item.FindControl("editButton") as LinkButton; 
    if(lb!=null){ 
     if(some condition){ 
      lb.Visible=false; 
     } 
    } 
} 

EDIT: - vous pouvez obtenir plus d'informations sur la personnalisation de la liste des données lors de l'exécution here

0

Vous pourriez même pas besoin de code-behind si vous quelque chose comme ça

<asp:datalist id="datalist1" runat="server"> 
<ItemTemplate> 
    <asp:label id="label1" runat="server"></asp:label> 
    <asp:linkbutton id="editButton" runat="server" text="Edit" Visible='<%# Eval("SomeBooleanDataElement") %>'></asp:linkbutton> 
</ItemTemplate> 
</asp:datalist> 
Questions connexes