ASP.NET数据控件,放CheckBox,求全选的多种方法。

不懂必须要问 2009-08-08 05:49:54
现在我是这样做的

添加一个用于全选的CheckBox, Checked为TRUE的时候就全选。

因为我是在服务端做的。这个用于全选的CheckBox开启了AutoPostBack属性。


因为一次显示30多条记录,每次刷新才全部选中,觉得有点慢。每一次都要重新绑定数据,再设置列中的CheckBox钩上。


用Javscript如何实现呢?CheckBox是服务器控件,当生成HTML的时候,ID号和NAME都有序列地变化。怎么做呢?疑问了。
...全文
131 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
不懂必须要问 2009-08-08
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sp1234 的回复:]
引用楼主 morequestion 的回复:
CheckBox是服务器控件,当生成HTML的时候,ID号和NAME都有序列地变化。怎么做呢?疑问了。


例子中最后两个方法回答了这个问题。

但是我要说的是,更高的层面,你要了解在asp.net怎样动态生成javascript。那种从html/css编程书上抄袭来几个javascript函数的做法只能让你越来越难以将javascript融入asp.net开发中。
[/Quote]

多谢SP哥指点

这方法很好啊!!!


不懂必须要问 2009-08-08
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sp1234 的回复:]
引用楼主 morequestion 的回复:
CheckBox是服务器控件,当生成HTML的时候,ID号和NAME都有序列地变化。怎么做呢?疑问了。


例子中最后两个方法回答了这个问题。

但是我要说的是,更高的层面,你要了解在asp.net怎样动态生成javascript。那种从html/css编程书上抄袭来几个javascript函数的做法只能让你越来越难以将javascript融入asp.net开发中。
[/Quote]


多谢SP哥!

看了你做方法实在与一般做不同。

对的!要加强学习。
  • 打赏
  • 举报
回复
[Quote=引用楼主 morequestion 的回复:]
CheckBox是服务器控件,当生成HTML的时候,ID号和NAME都有序列地变化。怎么做呢?疑问了。
[/Quote]

例子中最后两个方法回答了这个问题。

但是我要说的是,更高的层面,你要了解在asp.net怎样动态生成javascript。那种从html/css编程书上抄袭来几个javascript函数的做法只能让你越来越难以将javascript融入asp.net开发中。
  • 打赏
  • 举报
回复
在GridView上做一个demo。

首先在一个模板里中设计CheckBox:
                <asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="chbSelectRow" runat="server" />
</ItemTemplate>
</asp:TemplateField>

在GridView外部、底下设计:
    <input type="button" value="全选" onclick="<%= Get全选脚本 %>" />
<input type="button" value="反选" onclick="<%= Get反选脚本 %>" /><br />

添加代码:

protected string Get反选脚本
{
get
{
string scp = "var ids=[";
foreach (GridViewRow r in this.GridView1.Rows)
{
CheckBox ch = (CheckBox)r.FindControl("chbSelectRow");
if (ch != null)
scp += "'" + ch.ClientID + "',";
}
scp += "''];for(i=0;i<ids.length-1;i++) {var obj=document.getElementById(ids[i]);obj.checked=!obj.checked;};";
return scp;
}
}

protected string Get全选脚本
{
get
{
string scp = "var ids=[";
foreach (GridViewRow r in this.GridView1.Rows)
{
CheckBox ch = (CheckBox)r.FindControl("chbSelectRow");
if (ch != null)
scp += "'" + ch.ClientID + "',";
}
scp += "''];for(i=0;i<ids.length-1;i++) {var obj=document.getElementById(ids[i]);obj.checked=true;};";
return scp;
}
}

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧