怎么获取GridView中表头的控件名

我有一个GridView,名字就叫GridView1,在第一列的“表头”中我放了一个CheckBox,名字就叫CheckBox1<HeaderTemplate><asp:... 我有一个GridView,名字就叫GridView1,在第一列的“表头”中我放了一个CheckBox,名字就叫CheckBox1

<HeaderTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
</HeaderTemplate>

我想在后台程序中获取这个CheckBox的名字怎么弄?或者定义一个变量,就是CheckBox cbox = ... !=号后面应该怎么写?
展开
 我来答
zhangyuhaoqq
2009-08-24 · TA获得超过2216个赞
知道小有建树答主
回答量:682
采纳率:0%
帮助的人:394万
展开全部
qinjierz的方法是可行的,但用Cells[0]和Controls[1] 取控件,很容易取不到,导致报:未将对象引用设置到对象实例的错误。
你可以这样取:
CheckBox CheckBox1 = (CheckBox)GridView1.HeaderRow.FindControl("CheckBox1");
if (CheckBox1 != null)
{
Response.Write(CheckBox1.ID);
}
对于一楼的仁兄,回答问题前请先看清楚人家问的是什么,后台程序中获取,就肯定不是用JS在客户端操作,而且,你的那个全选的方法也有问题,checkall接受的ck参数没有判断是否为空。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
haoluogaga
2009-08-24 · TA获得超过2378个赞
知道小有建树答主
回答量:1265
采纳率:0%
帮助的人:1006万
展开全部
你是要做全选?

<HeaderTemplate>
<asp:CheckBox ID="ckAll" runat="server" Text="全选" onclick="CheckAll(this);" />
</HeaderTemplate>

<script language="javascript" type="text/javascript">
function CheckAll(ck)
{
var items = document.getElementsByTagName("input");
for(var i=0;i<items.length;i++)
{
if(items[i].type=="checkbox")
{
items[i].checked=ck.checked;
}
}
}
</script>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9c925ca86
2009-08-24 · TA获得超过206个赞
知道小有建树答主
回答量:144
采纳率:0%
帮助的人:165万
展开全部
CheckBox cbox =((CheckBox)GridView1.HeaderRow.Cells[0].FindControl("CheckBox1"));

或者
CheckBox cbox =((CheckBox)GridView1.HeaderRow.Cells[0].Controls[1]);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式