我在gridview上添加一个模板字段,在该字段放了一个checkbox控件。ID为CheckBox2.该字段的header模板上放了一个checkbox控件。ID为CheckBox1。然后我为CheckBox1写了一个CheckedChanged事件。在该事件写了如下代码:
System.Web.UI.WebControls.CheckBox chkSelect;
foreach (System.Web.UI.WebControls.GridViewRow TempRow in GridView1.Rows)
{
chkSelect = ((System.Web.UI.WebControls.CheckBox)TempRow.FindControl("CheckBox2"));
if (chkSelect.Visible)
chkSelect.Checked = ((System.Web.UI.WebControls.CheckBox)sender).Checked;
}
程序运行后,却发现这个事件并没有执行。断点跟踪也跟踪不了。而CheckBox1.AutoPostBack已经设置为true了。
我在aspx文件中也有如下代码:
<asp:CheckBox ID="CheckBox1" runat="server" Text="全选" Width="56px" AutoPostBack="True" OnCheckedChanged="CheckBox1_CheckedChanged" />
这表示checkedchanged事件已经注册了。
这到底是怎么回事情?请各位帮忙一起来捉虫。
这是我的qq:17877232 下班时间用
msn:[email protected] 上班时间用
在线等待勇士们一起捉虫。
System.Web.UI.WebControls.CheckBox chkSelect;
foreach (System.Web.UI.WebControls.GridViewRow TempRow in GridView1.Rows)
{
chkSelect = ((System.Web.UI.WebControls.CheckBox)TempRow.FindControl("CheckBox2"));
if (chkSelect.Visible)
chkSelect.Checked = ((System.Web.UI.WebControls.CheckBox)sender).Checked;
}
程序运行后,却发现这个事件并没有执行。断点跟踪也跟踪不了。而CheckBox1.AutoPostBack已经设置为true了。
我在aspx文件中也有如下代码:
<asp:CheckBox ID="CheckBox1" runat="server" Text="全选" Width="56px" AutoPostBack="True" OnCheckedChanged="CheckBox1_CheckedChanged" />
这表示checkedchanged事件已经注册了。
这到底是怎么回事情?请各位帮忙一起来捉虫。
这是我的qq:17877232 下班时间用
msn:[email protected] 上班时间用
在线等待勇士们一起捉虫。
解决方案 »
- xPath获取Menu的问题
- 接口的引用实例问题
- 怎么判断数据库查询的输入为非法?
- Log4
- web service 里的方法调用时参数的问题
- 各位你们用C#作网站用VS不好调试页面啊太难用了,你们都用什么来调试页面的 啊
- 初学者:窗口间对象调用问题
- 绑定好的datagrid,在上面填写表格后,如何将所有数据提交回数据库(内详)?
- 我要实现简单的导出word文件的功能,请问如何判断客户端的word是9.0还是10.0?
- [WCF]客户端上传文件流过程中网络意外断开,服务端Timeout不触发
- 关于带有checkbox的ListView的显示问题,急!在线等...谢谢
- 有用过sybase的没有?读取数据某一列为空的问题
<script type="text/javascript">
var checkFlag = true;
function ChooseAll()
{
if( checkFlag ) // 全选
{
var inputs = document.all.tags("INPUT");
for (var i=0; i < inputs.length; i++) // 遍历页面上所有的 input
{
if (inputs[i].type == "checkbox" && inputs[i].value != "chkAll" ) {
inputs[i].checked = true;
}
}
checkFlag = false;
}
else// 取消全选
{
var inputs = document.all.tags("INPUT");
for (var i=0; i < inputs.length; i++) // 遍历页面上所有的 input
{
if (inputs[i].type == "checkbox" && inputs[i].value != "chkAll"
{
inputs[i].checked = false;
}
}
checkFlag = true;
}
}
</script>
{
if (e.Row.RowType = DataControlRowType.Header)
{
CheckBox chk = (CheckBox)e.Item.FindControl("CheckBox1");
chk.Attributes.Add("onclick", "ChooseAll()");
}
}请自己把上面javascript脚本的chkAll改为CheckBox1
javascript:
<script type="text/javascript">
var checkFlag = true;
function ChooseAll()
{
if( checkFlag ) // 全选
{
var inputs = document.all.tags("INPUT");
for (var i=0; i < inputs.length; i++) // 遍历页面上所有的 input
{
if (inputs[i].type == "checkbox" && inputs[i].value != "CheckBox1" )
{
inputs[i].checked = true;
}
}
checkFlag = false;
}
else// 取消全选
{
var inputs = document.all.tags("INPUT");
for (var i=0; i < inputs.length; i++) // 遍历页面上所有的 input
{
if (inputs[i].type == "checkbox" && inputs[i].value != "CheckBox1" )
{
inputs[i].checked = false;
}
}
checkFlag = true;
}
}
</script>//aspx.cs
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
CheckBox chk = (CheckBox)e.Row.FindControl("CheckBox1");
chk.Attributes.Add("onclick", "ChooseAll()");
}
}