C# gridview中checkbox2个问题
发布网友
发布时间:2022-04-27 12:22
我来回答
共5个回答
热心网友
时间:2022-04-27 13:51
为head里面的复选框的onclick事件绑定一下javascript函数就可以实现了.
<script type="text/javascript">
function CheckAll(checked) //true/勾选 or false/不勾选
{
var form = document.getElementById("form1")
for (var i=0;i<form.elements.length;i++) //对这个表单里的元素进行循环
{
var e = form.elements[i]; //一个一个元素判断
if (e.name.indexOf("cb_Check") != 0 && e.disabled!=true) //如果该元素的name属性不为cb_Check并且disabled!=true.即:该控件可用时
e.checked = checked; //控元素的checked与当前选中的控件checked保持一致.即:全选/全不选
}
}
</script>
原理:
写javascript的时候要根据控件的客户端id或name来查找控件,从而操作控件.
在GridView中模板列内定义的控件在给浏览器解析的时候会自动生成客户端id和name
拿CheckBox为例,生成的id:gv_main__ct002_cb_Check 和 name:gv_main:_ct002:cb_Check
html:<input id="gv_main__ct002_cb_Check" type="checkbox" name="gv_main:_ct002:cb_Check" />
这个在浏览器输出后右键->源文件中可以看到.
id中:"gv_main__ct002_"部分 和 name中 "gv_main:_ct002:"部分 就是自动生成的.
里面的数字没什么意思,只是因为GridView中生成了许多个相同控件后的需要一个名称编号以区分每个控件.
"cb_Check"是我为服务器控件CheckBox控件定义的ID.这个需要在以上脚本中使用,用以来查找控件.
以上代码是找到控件,设置选与不选,也可设置禁用与可用.
cs代码:
ClientScript.RegisterClientScriptBlock(Page.GetType(), "", "<script language='javascript' defer>document.getElementById('客户端控件ID').disabled=true;</script>")
热心网友
时间:2022-04-27 15:09
html控件 <input type="checkbox" id="chk" runat="server" />
后台同样可以用 chk.disabled=true;
热心网友
时间:2022-04-27 16:44
用html的checkbox控件,js控制全选和显不显示,数据绑定checkbox value附值,request["checkbox"]获取
热心网友
时间:2022-04-27 18:35
你就全用服务器控件来解决吧
然后在页面刷新的时候来判断是否被选了
热心网友
时间:2022-04-27 20:43
那你这要考虑权限,checkbox有一属性enabled