2014-03-07 27 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; 
} 
相關問題