2010-03-14 15 views
7

Deseo poder obtener el objeto encuadernado actual en el ItemTemplate de un control ListView.Obtiene el objeto acotado actual en una ItemPlantilla de ListView

He aquí un ejemplo de lo que quiero hacer:

<asp:ListView ID="UserList" runat="server"> 
    <LayoutTemplate> 
     <asp:PlaceHolder ID="itemPlaceHolder" runat="server" /> 
    </LayoutTemplate> 
    <ItemTemplate> 
     //How can I get the current bound object in here? 
    </ItemTemplate> 
</asp:ListView> 

Respuesta

10

puede acceder a él a través de la DataItem:

<%# DataBinder.Eval(Container.DataItem, "myPropertyName")%>' 

Si quieres un cuadro de texto, por ejemplo:

<asp:Label ID="MyProp" runat="server" Text='<%#Eval("myPropertyName") %>' /> 

Si solo quiere el objeto completo:

<%# (MyType)Container.DataItem %> 
+0

Quiero la instancia del objeto, no su propiedad. –

+1

@Andreas - en ese caso simplemente '<% # (MyType) Container.DataItem%>' y haz lo que quieras con él ... si solo necesitas un objeto simple, no lonces. –

+0

Nick, eso es exactamente lo que estaba buscando. Cambia tu respuesta para incluir eso en ella y la aceptaré. –

Cuestiones relacionadas