Asp .Net遍历Repeater里面的Checkbox控件并获取选中id的方法
【版权声明:本文为新价值网原创,未经准许谢绝转载。如需转载,请务必在转载时注明本博客地址。】
有时候,我们在项目需求中总会遇到获取Repeater中id集合的时候,在此记录一下。
代码如下
- /// <summary>
- /// 收集Repeater中CheckBox控件中选中项目的id(注意id保存在CheckBox的ToolTip属性中)
- /// </summary>
- /// <param name="rpt"></param>
- /// <param name="chkId"></param>
- /// <returns></returns>
- private string CollectIdsInRepeater(Repeater rpt, string chkId)
- {
- string ids = "";
- for (int i = 0; i < rpt.Items.Count; i++)
- {
- //找到相应的Checkbox控件
- CheckBox cb = (CheckBox) rpt.Items[i].FindControl(chkId);
- //获取id并连接成字符串,用,分隔
- if (cb != null)
- {
- string selectedId = cb.ToolTip;
- if (cb.Checked)
- {
- ids += selectedId + ",";
- }
- }
- }
- //处理末尾的,
- if (ids.Contains(","))
- {
- ids = ids.Substring(0, ids.Length - 1);
- }
- return ids;
- }
注意事项
注意:Repeater代码必须如下格式:
- <asp:Repeater ID="rpt_word1" runat="server">
- <ItemTemplate>
- <asp:CheckBox ID="chk_word1" ToolTip=‘<%#Eval("id") %>‘ runat="server" /> <%#Eval("sub_name") %>
- </ItemTemplate>
- <FooterTemplate>
- <div class="noRecoredFoot"> <%#(this.rpt_word1.Items.Count == 0) ? "暂无记录。" : "" %></div>
- </FooterTemplate>
- </asp:Repeater>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。