C#中GridView中的CheckBox为什么选择后,CheckBox的Checked属性还是false?
protectedvoidbtnTest_Click(objectsender,EventArgse){intintTest=0;for(intj=0;j<gvTest....
protected void btnTest_Click(object sender, EventArgs e)
{
int intTest = 0;
for (int j = 0; j < gvTest.Rows.Count; j++)
{
CheckBox CB = (CheckBox)gvTest.Rows[j].FindControl("cbTest");
if (CB.Checked)
{
intTest = intTest + 1;
CB.Checked = true;
}
}
}
如上,CB.Checked一直是false
如果if (CB.Checked)
{
intTest = intTest + 1;
CB.Checked = true;
} 运行了,那CB.Checked就不是false了,这还用说 展开
{
int intTest = 0;
for (int j = 0; j < gvTest.Rows.Count; j++)
{
CheckBox CB = (CheckBox)gvTest.Rows[j].FindControl("cbTest");
if (CB.Checked)
{
intTest = intTest + 1;
CB.Checked = true;
}
}
}
如上,CB.Checked一直是false
如果if (CB.Checked)
{
intTest = intTest + 1;
CB.Checked = true;
} 运行了,那CB.Checked就不是false了,这还用说 展开
6个回答
展开全部
首先确定GridView 的数据邦定是否写在 IsPostBack 事件内。
再看btnTest_Click() 事件里面是否也调用了GridView 的方法 。
在就修改你的代码
if (CB.Checked)
{
intTest = intTest + 1;
CB.Checked = true;
}
}
}
改成
if (CB.Checked == false)
{
intTest = intTest + 1;
CB.Checked = true;
}
}
}
再看btnTest_Click() 事件里面是否也调用了GridView 的方法 。
在就修改你的代码
if (CB.Checked)
{
intTest = intTest + 1;
CB.Checked = true;
}
}
}
改成
if (CB.Checked == false)
{
intTest = intTest + 1;
CB.Checked = true;
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CheckBox CB = (CheckBox)gvTest.Rows[j].FindControl("cbTest");
row估计找不到CheckBox这个控件
改成
CheckBox CB = (CheckBox)gvTest.Rows[j].Cells[索引].FindControl("cbTest"); 试试,加上是在哪个单元格
row估计找不到CheckBox这个控件
改成
CheckBox CB = (CheckBox)gvTest.Rows[j].Cells[索引].FindControl("cbTest"); 试试,加上是在哪个单元格
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CheckBox CB = (CheckBox)gvTest.Rows[j].FindControl("cbTest");
类型转换的对象错误改成
(CheckBox)(gvTest.Rows[j].FindControl("cbTest"))
类型转换的对象错误改成
(CheckBox)(gvTest.Rows[j].FindControl("cbTest"))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
打个段点调试下看if (CB.Checked)
{
intTest = intTest + 1;
CB.Checked = true;
}
有没运行啊
{
intTest = intTest + 1;
CB.Checked = true;
}
有没运行啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询