11 Stimmen

Binden einer List<string> an eine Listview in asp.net 3.5

Wie binde ich eine Liste an eine ASP.NET 3.5

  <asp:ListView ID="lvDiagnosisCodes" runat="server">
            <LayoutTemplate>
                <ul>
                    <asp:PlaceHolder ID="itemPlaceholder" runat="server"></asp:PlaceHolder>
                </ul>
            </LayoutTemplate>
            <ItemTemplate>
                <li>
                    <%# Eval("Name") %>
                </li>
            </ItemTemplate>

        </asp:ListView>

Ich bin mir nicht ganz sicher, was ich für den Eval-Teil verwenden soll. Da es sich um eine generische Liste von Zeichenfolgen handelt, gibt es keinen Spaltennamen.

Vielen Dank im Voraus.

19voto

onof Punkte 16911

Verwenden Sie nicht Eval. Binden Sie es direkt:

<%# Container.DataItem %>

2voto

Diego C. Punkte 2261

Sie müssen lediglich ein anonymes Objekt erstellen und es auf die Datasource-Eigenschaft Ihres Listviews setzen.

Wenn Sie also eine Liste oder ein Array von Strings haben, gehen Sie wie folgt vor:

Dim myListOfStuff() As String = Manager.FetchMyStuff()

Me.lvDiagnosisCodes.DataSource = (From s In myListOfStuff Select New With {.Name = s}).ToArray
Me.lvDiagnosisCodes.DataSource.DataBind()

Auf diese Weise können Sie <%# Eval("Name") %> im Frontend und binden an eine "Eigenschaft"

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X