Ganz fies. Von den alten Listencontrols bin ich es gewohnt einfach die Templates zu deklarieren und dann meine Daten zu binden - das neue ListView-Control ist da etwas anspruchsvoller und zickt gleich rum:

An item placeholder must be specified on ListView 'ListView1'. Specify an item placeholder by setting a control's ID property to "itemPlaceholder". The item placeholder control must also specify runat="server".

Legt man jetzt ein <asp:PlaceHolder ID="itemPlaceholder" runat="server" /> an, kracht es immer noch.

Der Trick: Das Ding muss innerhalb der LayoutTemplate-Deklaration landen, ItemTemplate zählt nicht :-), Beispiel:

<asp:ListView ID="ListView1" runat="server">
    <ItemTemplate>
        <p><%# Eval("Username") %></p>
        <p><%# (bool)Eval("IsActive") ? "Aktiv" : "Nicht aktiv" %></p>
        </asp:Panel>
    </ItemTemplate>
    <LayoutTemplate>
        <asp:PlaceHolder ID="itemPlaceholder" runat="server" />
    </LayoutTemplate>
</asp:ListView>

Dein Kommentar