如何取得Repeater控件选择的项目及注意事项

不管怎样,生活还是要继续向前走去。有的时候伤害和失败不见得是一件坏事,它会让你变得更好,孤单和失落亦是如此。每件事到最后一定会变成一件好事,只要你能够走到最后。纸上得来终觉浅,绝知此事要躬行。
Repeater控件,每个item前有一个CheckBox,把选择的item列显出来。

这个演法中,可以看到选择之后,该行highlight,此功能可以参考这个链接://www.haodaima.com/article/33455.htm
下面是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;
}

到此这篇关于如何取得Repeater控件选择的项目及注意事项就介绍到这了。一个人在迷茫的时候通常会去衡量自身的价值,但你无法找到价值的天秤在何处。更多相关如何取得Repeater控件选择的项目及注意事项内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

您可能有感兴趣的文章
浅析Repeater控件的使用 (原样导出和动态显示/隐藏Repeater中的列)

嵌套repeater示例分享

在Repeater控件中通过Eval的方式绑定Style样式代码

Repeater事件OnItemCommand取得行内控件的方法

Repeater中嵌套Repeater的示例介绍