2009-07-10 2 views
1

Wie bekomme ich Zugriff auf ein Steuerelement (Link in meinem Fall), die innerhalb des ItemTemplate Abschnitt von asp Datalist Control ist? Zum Beispiel: Ich möchte den Linkbutton auf visible false setzen, aber ich kann nicht herausfinden, wie ich den Verweis darauf vom Code-Behind bekommen kann.Dynamisches Ausblenden eines Elements aus der ItemTemplate von DataList

Beispielcode:

<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> 

Dank.

Antwort

3

Sie müssen Element Daten gebunden Event behandeln. Dann die Linkbutton finden und legen Sie seine Eigenschaften es wie folgt aus:

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: - Sie weitere Informationen zur Anpassung von Datenliste zur Laufzeit here

0

bekommen Sie könnten nicht einmal den Code-behind benötigen, wenn Sie tun etwas wie das

<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>