2009-05-03 3 views
0

Ich möchte ein Appearance als this article erwähnt mit verschachtelten ListView-Steuerelement implementieren. In meinem Szenario kann das EntityDataSource-Steuerelement jedoch nicht verwendet werden, sodass ich Daten manuell binden kann.Wie wird ein Tag zu ListViewItem hinzugefügt?

Meine Tabelle:

Categories 
    PK: UniqueId, Guid 
    Name, string 
    ParentId, Guid 

<asp:ListView ID="CategoryList" runat="server" 
     onitemdatabound="CategoryList_ItemDataBound"> 
     <LayoutTemplate> 
      <table> 
       <asp:PlaceHolder ID="itemPlaceHolder" runat="server"></asp:PlaceHolder> 
      </table> 
     </LayoutTemplate> 

     <ItemTemplate> 
      <tr> 
       <td colspan="2"><%# Eval("Name") %></td> 
      </tr> 
     </ItemTemplate> 
    </asp:ListView> 



protected void Page_Load(object sender, EventArgs e) 
{ 
    using (PractiseEntities context = new PractiseEntities()) { 
     var result = from categories in context.Categories 
        select categories; 
     CategoryList.DataSource = result; 
     CategoryList.DataBind(); 
    } 
} 

Ich mag die Unterkategorie hat einen Einzug durch einen <td>-Tag zu dem Elemente hinzufügen, die „ParentId“ nicht null ist. Und meine Frage ist, wie die generierten HTML-Tags im ItemDataBound-Event bearbeitet werden?

<ItemTemplate> 
    <tr> 
     <td colspan="2"><%# GetParentContent(Eval("ParentID")) %></td> 
    </tr> 
</ItemTemplate> 

im Code-Behind:

Antwort

1

Sie so etwas wie dieses haben könnte

protected string GetParentContent(object ParentID) 
{ 
    if(ParentID!=null) 
     ... return parent HTML ... 
    else 
     return ""; 
} 
+0

Thx viel, es funktioniert! –

Verwandte Themen