C#关于checkBox的全选取消和反选

如题!谁知道怎么写的?下面这样写报错行75:protectedvoidAllchk_Click(objectsender,EventArgse)行76:{行77:fore... 如题!谁知道怎么写的?
下面这样写 报错
行 75: protected void Allchk_Click(object sender, EventArgs e)
行 76: {
行 77: foreach (CheckBox chk in this.Controls)
行 78: {
行 79: chk.Checked = true;
}

无法将类型为“System.Web.UI.LiteralControl”的对象强制转换为类型“System.Web.UI.WebControls.CheckBox”。
求各位大虾帮忙3Q !
复选框放在repeater 里面
<div id="morePicList">
<h3><span>图片列表</span></h3>
<div class="cls_Os">
<asp:Button ID="Allchk" runat="server" CssClass="cls_border" Text="全选"
onclick="Allchk_Click" />
<asp:Button ID="rechk" runat="server" Text="取消" CssClass="cls_border" />
<asp:Button ID="delbtn" runat="server" CssClass="cls_border" Text="删除" />
</div>
<asp:Repeater ID="picList" runat="server">
<ItemTemplate>
<div class="cls_pic_list">
<h3><span><asp:CheckBox ID="chkMorePic"runat="server" /></span></h3>
<div class="cls_pic">
<img src="<%# DataBinder.Eval(Container.DataItem,"picsLink") %>" alt="<%# DataBinder.Eval(Container.DataItem,"picName") %>"/>
<h4><%# DataBinder.Eval(Container.DataItem,"picName") %></h4>
</div>
</div>
</ItemTemplate>
</asp:Repeater>
</div>
展开
 我来答
tangdongNo1
推荐于2018-04-23 · TA获得超过463个赞
知道小有建树答主
回答量:391
采纳率:0%
帮助的人:109万
展开全部
首先问下你的复选框是作为其他控件的子控件还是什么。。。详细点
全选代码:
protected void Allchk_Click(object sender, EventArgs e)
{
foreach (RepeaterItem rp in Repeater1.Items)
{
CheckBox cbox = (CheckBox)rp.FindControl("chkMorePic");
if (cbox.Checked == false)
{
cbox.Checked = true;
}
else

{
cbox.Checked = false;
}
}
}
取消代码:
protected void rechk_Click(object sender, EventArgs e)
{
for (int i = 0; i <= Repeater1.Items.Count - 1; i++)
{
CheckBox check = (CheckBox)Repeater1.Items[i].FindControl("chkMorePic");
check.Checked = false;
}
}
我看你代码中并没有反选按钮么,如果要实现反选功能的话代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
foreach (RepeaterItem rp in Repeater1.Items)
{
CheckBox cbox = (CheckBox)rp.FindControl("chkMorePic");
if (cbox.Checked == true)
{
cbox.Checked = false;
}
else
{
cbox.Checked = true;
}
}

}
反选代码跟全选类似,这两个功能可以结合成一个来实现,不用反选按钮也一样行,嘿嘿!
破梦之魇
2009-06-12 · TA获得超过456个赞
知道小有建树答主
回答量:319
采纳率:0%
帮助的人:338万
展开全部
foreach (Control chk in this.Controls)
{
if (chk is CheckBox)
{
((CheckBox)chk).Checked = true;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6eed2f8
2009-06-12 · TA获得超过5082个赞
知道大有可为答主
回答量:3423
采纳率:0%
帮助的人:3816万
展开全部
你的页面上不止CheckBox一种控件,当然转化会出错了
你可以通过判断控件的id什么的来判断是否是CheckBox
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mom7V
2009-06-12 · TA获得超过183个赞
知道小有建树答主
回答量:246
采纳率:0%
帮助的人:85万
展开全部
要判断控件为CheckBox后,才能对其执行操作。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
202261256487e6a
2009-06-14 · TA获得超过481个赞
知道小有建树答主
回答量:795
采纳率:0%
帮助的人:690万
展开全部
简单准确的答案已经有了
关注一下,看看你能不能选对那个答案
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式