获取radlistview项目中的子项值

时间:2014-03-10 09:11:35

标签: c# asp.net listview telerik rad-controls

这是我的listview

<telerik:RadListView runat="server" ID="lvAllUsers" Width="30px">
  <ItemTemplate>
    <table>
      <tr>
        <td >
          <asp:CheckBoxList ID="cbID" runat="server" CssClass="item" Font-Size="15px" RepeatDirection="Horizontal">
            <asp:ListItem Text="    "  > </asp:ListItem>
          </asp:CheckBoxList></td>
          <td style="padding-bottom:10px"><%# Eval("FirstName") %></td>
          <td style="padding-bottom:10px"><%# Eval("FamilyName") %></td>
        </tr>
      </table>
    </ItemTemplate>
 </telerik:RadListView>

如何在代码后面获取复选框列表项目文本?或者我在pageload中绑定数据后如何获得FirstName和FamilyName以及代码? 我不能用

 foreach (Telerik.Web.UI.RadListViewItem item in lvAllUsers.Items) {
   var cb = item.FindControl(index);
 }

因为index通常等于id。但是在项目模板中,id不等于cbID。当项模板迭代时,id正在改变。我需要在codebehind获取FirstName和FamilyName或checkboxlists项(c#only not js)。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。它似乎有点长,但它确实有效。

foreach (Telerik.Web.UI.RadListViewItem item in lvAllUsers.Items)
{
    if (((System.Web.UI.WebControls.CheckBoxList)(((System.Web.UI.Control)(item)).Controls[1])).Items[0].Selected)
    {
        ccUserNames.Add(((System.Web.UI.WebControls.Label)(((System.Web.UI.Control)(item)).Controls[7])).Text);
    }
}
相关问题