• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

asp.net实现分组全选部分复选框

发布: 2007-6-30 18:56 | 作者: admin | 来源: | 查看: 15次 | 进入软件测试论坛讨论

领测软件测试网 1.声明控件,分别在页面上方一个CheckBox叫cb5,一个CheckBoxList叫shi2:
protected System.Web.UI.WebControls.CheckBox cb5;
protected System.Web.UI.WebControls.CheckBoxList shi2;

2.在aspx的html代码的head里键入以下函数
<script>
function chkchk(chkid,spanid){
var o=document.getElementById(chkid);
var obj = document.getElementById(spanid);
obj=obj.children;
for(i=0;i<obj.length;i++)
{
e=obj[i];
if(e.type=="checkbox"){
obj[i].checked=o.checked;
}
}
}
</script>
3.在后台编码里添加自定义属性
private void Page_Load(object sender, System.EventArgs e)
{
cb5.Attributes.Add("onclick","chkchk(‘’"+cb5.ClientID+"‘’,‘’"+shi2.ClientID+"‘’);");
}
4.我们来观察一些自动生成的html代码,我们就明白了
<input id="to1_cb5" type="checkbox" name="to1:cb5" onclick="chkchk(‘’to1_cb5‘’,‘’to1_shi2‘’);" />
<label for="to1_cb5">市律师协会</label>
<span id="to1_shi2">
<input id="to1_shi2_0" type="checkbox" name="to1:shi2:0" />
<label for="to1_shi2_0">admin</label>
<br>
<input id="to1_shi2_1" type="checkbox" name="to1:shi2:1" />
<label for="to1_shi2_1">5</label>
</span>
5.注意我是把所有的控件放在一个to1的UserControl里面的,所以生成的控件ID前面都带有一个"to1_",又是一下午时间,就整出来一个这个,总感觉asp.net对一些客户端编程结合的不是很好,如果不写脚本,做联动选择的话只能用服务器事件了,这就要每点击一下复选框回传一下窗体,这从性能上考虑是非常不值得的,只能出此下策了.本文的主要知识点是JavaScript的文档对象和和控件的嵌套模型,以及给服务器控件加一些客户端行为属性.
最后感谢donet技术交流群的Henman 姐姐的技术支持


文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网