2010-03-14 11 views
7

Chcę móc uzyskać bieżący obiekt związany w ItemTemplate kontrolki ListView.Uzyskaj bieżący ograniczony obiekt w ItemTemplate ListView

Oto przykład tego, co chcę zrobić:

<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> 

Odpowiedz

10

można uzyskać do niego dostęp za pośrednictwem DataItem:

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

Jeśli chciałeś pole tekstowe na przykład:

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

Jeśli chcesz tylko pełny obiekt:

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

Chcę instancji obiektu, a nie jego własności. –

+1

@Andreas - w takim przypadku po prostu '<% # (MyType) Container.DataItem%>' i rób, co chcesz z nim ... jeśli potrzebujesz tylko zwykłego obiektu, nie rzucaj. –

+0

Nick, właśnie tego szukałem. Zmień swoją odpowiedź, aby uwzględnić w niej to, a ja ją zaakceptuję. –

Powiązane problemy