如何取得Repeater控件选择的项目及注意事项
程序员文章站
2024-03-04 12:39:17
repeater控件,每个item前有一个checkbox,把选择的item列显出来。 这个演法中,可以看到选择之后,该行highlight,此功能可以参考这个链接: 下面...
repeater控件,每个item前有一个checkbox,把选择的item列显出来。
这个演法中,可以看到选择之后,该行highlight,此功能可以参考这个链接:
下面是repeater控件html,有两个地方需要注意的,就是checkbox与label,这个label是随你需要获取的内容而变化喔。如你想获取nickname,那你需要把绑定的的内容放在label上。
repeater & checkbox
<asp:repeater id="repeateremaillist" runat="server">
<headertemplate>
<table border="1" cellpadding="1" cellspacing="0" width="96.5%">
<tr>
<td>
</td>
<td>
nickname
</td>
<td>
email
</td>
</tr>
</headertemplate>
<itemtemplate>
<tr style="height:10px; line-height:10px;">
<td>
<!--下面这个checkbox的id,注意喔,因为后台需要用到它-->
<asp:checkbox id="checkbox1" runat="server" />
</td>
<td>
<%# eval("nickname")%>
</td>
<td>
<!--下面这个label的id,注意喔,因为后台需要用到它-->
<asp:label id="label1" runat="server" text=' <%# eval("mail")%>'></asp:label>
</td>
</tr>
</itemtemplate>
<footertemplate>
</table>
</footertemplate>
</asp:repeater>
下面insus.net将会写一个方法,也许你的专案不止一个地方使用到,在需要的地方直接调用即可。
getcheckboxselectedvalue
private string getcheckboxselectedvalue(repeater repeater, string checkboxid,string labelid)
{
string tempvalue = string.empty;
foreach (repeateritem item in repeater.items)
{
if (item.itemtype == listitemtype.item || item.itemtype == listitemtype.alternatingitem)
{
if (item.findcontrol(checkboxid) != null && item.findcontrol(labelid) != null)
{
checkbox cb = (checkbox)item.findcontrol(checkboxid);
label lbl = (label)item.findcontrol(labelid);
if (cb.checked)
{
tempvalue = tempvalue + ";" + lbl.text;
}
}
}
}
if (tempvalue.length > 0)
{
tempvalue = tempvalue.substring(2);
}
return tempvalue;
}
这个演法中,可以看到选择之后,该行highlight,此功能可以参考这个链接:
下面是repeater控件html,有两个地方需要注意的,就是checkbox与label,这个label是随你需要获取的内容而变化喔。如你想获取nickname,那你需要把绑定的的内容放在label上。
repeater & checkbox
复制代码 代码如下:
<asp:repeater id="repeateremaillist" runat="server">
<headertemplate>
<table border="1" cellpadding="1" cellspacing="0" width="96.5%">
<tr>
<td>
</td>
<td>
nickname
</td>
<td>
</td>
</tr>
</headertemplate>
<itemtemplate>
<tr style="height:10px; line-height:10px;">
<td>
<!--下面这个checkbox的id,注意喔,因为后台需要用到它-->
<asp:checkbox id="checkbox1" runat="server" />
</td>
<td>
<%# eval("nickname")%>
</td>
<td>
<!--下面这个label的id,注意喔,因为后台需要用到它-->
<asp:label id="label1" runat="server" text=' <%# eval("mail")%>'></asp:label>
</td>
</tr>
</itemtemplate>
<footertemplate>
</table>
</footertemplate>
</asp:repeater>
下面insus.net将会写一个方法,也许你的专案不止一个地方使用到,在需要的地方直接调用即可。
getcheckboxselectedvalue
复制代码 代码如下:
private string getcheckboxselectedvalue(repeater repeater, string checkboxid,string labelid)
{
string tempvalue = string.empty;
foreach (repeateritem item in repeater.items)
{
if (item.itemtype == listitemtype.item || item.itemtype == listitemtype.alternatingitem)
{
if (item.findcontrol(checkboxid) != null && item.findcontrol(labelid) != null)
{
checkbox cb = (checkbox)item.findcontrol(checkboxid);
label lbl = (label)item.findcontrol(labelid);
if (cb.checked)
{
tempvalue = tempvalue + ";" + lbl.text;
}
}
}
}
if (tempvalue.length > 0)
{
tempvalue = tempvalue.substring(2);
}
return tempvalue;
}