2010-07-12 12 views
9

¿Cómo se unen a una lista a una en ASP.NET 3,5Encuadernación una lista <string> a un Listview en 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> 

No estoy muy seguro de lo que no uso en la parte Eval. Como esta es una lista genérica de cadena, no hay un nombre de columna.

Gracias de antemano.

Respuesta

17

No utilizar Eval. Enlazarlo directamente:

<%# Container.DataItem %> 
+0

ya intenté esto ... no funcionó :( – Sash

+0

raro, funciona en mi código. ¿Estás seguro de que las cadenas de la lista no están vacías? – onof

+2

gracias onof, ¡me salvaste el día! – Christian

2

Todo lo que tiene que hacer es crear un objeto anónimo y ponerlo a la propiedad de origen de datos de su Listview.

Así que si usted tiene una lista o una matriz de cadenas, haga lo siguiente:

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

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

De esta manera, se puede utilizar <%# Eval("Name") %> en la parte delantera y se unen a una "propiedad"

Cuestiones relacionadas