Repeater控件,每个item前有一个CheckBox,把选择的item列显出来。
这个演法中,可以看到选择之后,该行highlight,此功能可以参考这个链接:http://www.cnblogs.com/insus/articles/1443165.html
下面是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 >
< 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;
}
{
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;
}