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> 展开
下面这样写 报错
行 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> 展开
6个回答
展开全部
首先问下你的复选框是作为其他控件的子控件还是什么。。。详细点
全选代码:
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;
}
}
}
反选代码跟全选类似,这两个功能可以结合成一个来实现,不用反选按钮也一样行,嘿嘿!
全选代码:
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;
}
}
}
反选代码跟全选类似,这两个功能可以结合成一个来实现,不用反选按钮也一样行,嘿嘿!
展开全部
foreach (Control chk in this.Controls)
{
if (chk is CheckBox)
{
((CheckBox)chk).Checked = true;
}
}
{
if (chk is CheckBox)
{
((CheckBox)chk).Checked = true;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的页面上不止CheckBox一种控件,当然转化会出错了
你可以通过判断控件的id什么的来判断是否是CheckBox
你可以通过判断控件的id什么的来判断是否是CheckBox
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要判断控件为CheckBox后,才能对其执行操作。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
简单准确的答案已经有了
关注一下,看看你能不能选对那个答案
关注一下,看看你能不能选对那个答案
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询