C# 从listview中获取selecteditems值,该视图的数据与eval绑定

C# 从listview中获取selecteditems值,该视图的数据与eval绑定,c#,asp.net,listview,telerik,eval,C#,Asp.net,Listview,Telerik,Eval,我使用eval将数据绑定到listview。就像这样: <telerik:RadListView ID="lvDSTableSelection" runat="server" AllowMultiItemSelection="true" OnSelectedIndexChanged="lvDSTableSelection_SelectedIndexChanged" EnableViewState="true" > <ItemTemplate>

我使用eval将数据绑定到listview。就像这样:

<telerik:RadListView ID="lvDSTableSelection" runat="server" AllowMultiItemSelection="true" OnSelectedIndexChanged="lvDSTableSelection_SelectedIndexChanged" EnableViewState="true" >

         <ItemTemplate>
            <asp:LinkButton ID="LinkButton1" CssClass="selectedButtons" runat="server" CommandName="Select" Font-Underline="false" >
                <p ><%# Container.DataItem %></p>
             </asp:LinkButton>
        </ItemTemplate>
        <SelectedItemTemplate>

            <p ><%# Container.DataItem %></p>
       </SelectedItemTemplate>
</telerik:RadListView>
调试代码时,我意识到我的SelectedItems[0]计数为1,但SelectedItems[0]。DataItem为空。我想这与eval的用法有关


如何从codebehind获取selecteditems数据?

我已尝试使用您的代码,但无法重现此问题

请尝试使用下面的代码段

ASPX


您是在回发时还是在尝试访问所选项目之前重新绑定数据?否。我使用if(!IsPostBack){Populate();}。但是我在listview属性中使用EnableViewState=“true”。我无法用您的代码重现此问题。
lvDSTableSelection.SelectedItems[0].DataItem.ToString() ;
<telerik:RadListView ID="lvDSTableSelection" runat="server" AllowMultiItemSelection="true" EnableViewState="true">
    <ItemTemplate>
        <asp:LinkButton ID="LinkButton1" CssClass="selectedButtons" runat="server" CommandName="Select" CommandArgument='<%# Eval("ID") %>' Font-Underline="false" OnClick="lvDSTableSelection_SelectedIndexChanged">
    <p ><%# Container.DataItem %></p>
        </asp:LinkButton>
    </ItemTemplate>
    <SelectedItemTemplate>
        <p><%# Container.DataItem %></p>
    </SelectedItemTemplate>
</telerik:RadListView>
protected void lvDSTableSelection_SelectedIndexChanged(object sender, EventArgs e)
{
    string str1 = (sender as LinkButton).CommandArgument;
}