2010-07-12 6 views
9

Come posso associare un elenco ad una in ASP.NET 3,5Associazione di un elenco <string> ad un controllo ListView in 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> 

io non sono troppo sicuro che cosa utilizzare nella parte Eval. Poiché questo è un elenco generico di stringhe, non esiste un nome di colonna.

Grazie in anticipo.

risposta

17

Non utilizzare Eval. Associare direttamente:

<%# Container.DataItem %> 
+0

ho già provato questo..did non funziona :( – Sash

+0

strano, funziona nel mio codice. Sei sicuro che le stringhe nella lista non sono vuote? – onof

+2

grazie onof, hai salvato il mio giorno! – Christian

2

Tutto quello che dovete fare è creare un oggetto anonimo e impostarlo la proprietà DataSource del vostro ListView.

Quindi, se si dispone di una lista o un array di stringhe, effettuare le seguenti operazioni:

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

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

In questo modo, è possibile utilizzare <%# Eval("Name") %> nel front-end e legarsi a una "proprietà"