2014-03-07 26 views
0

我使用eval将我的数据绑定到listview。像这样:从列表视图中获取具有与eval绑定的数据的selecteditems值

<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数据。我在selecteditemchanged事件

lvDSTableSelection.SelectedItems[0].DataItem.ToString() ; 

尝试过这种当我调试的代码,我realizde我SelectedItems [0]数为1,但SelectedItems [0] .DataItem为空。我想这是关于使用eval的。

如何从代码隐藏中获取selecteditems数据?

+0

你重新绑定在回发或试图访问所选择的项目之前的数据? –

+0

不,我使用if(!IsPostBack){Populate(); }。但是我在ListView属性中使用EnableViewState =“true”。 – neverwinter

+0

我无法用您的代码重现此问题。 –

回答

1

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

请尝试使用下面的代码片段。

ASPX

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

ASPX.CS

protected void lvDSTableSelection_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    string str1 = (sender as LinkButton).CommandArgument; 
} 
相关问题