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了,这还用说
展开
 我来答
iceser
2008-09-02 · TA获得超过2708个赞
知道大有可为答主
回答量:695
采纳率:100%
帮助的人:454万
展开全部
是不是页面POSTBACK时,被重新绑定了数据?

你绑定数据的代码写在哪里的?

是不是写在 Page_Load 中的,如果是,应该加上回发判断

protected void Page_Load(object sender, EventArgs e)
{
if( !IsPostBack )
{
//在这里写绑定数据代码
}
}
百度网友c535d44ce
2008-09-02
知道答主
回答量:24
采纳率:0%
帮助的人:0
展开全部
首先确定GridView 的数据邦定是否写在 IsPostBack 事件内。
再看btnTest_Click() 事件里面是否也调用了GridView 的方法 。
在就修改你的代码
if (CB.Checked)
{
intTest = intTest + 1;
CB.Checked = true;
}
}
}
改成
if (CB.Checked == false)
{
intTest = intTest + 1;
CB.Checked = true;
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
goorcome
2008-09-02 · TA获得超过453个赞
知道小有建树答主
回答量:688
采纳率:0%
帮助的人:526万
展开全部
CheckBox CB = (CheckBox)gvTest.Rows[j].FindControl("cbTest");
row估计找不到CheckBox这个控件
改成
CheckBox CB = (CheckBox)gvTest.Rows[j].Cells[索引].FindControl("cbTest"); 试试,加上是在哪个单元格
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
horsoner
2008-09-02 · TA获得超过238个赞
知道小有建树答主
回答量:141
采纳率:0%
帮助的人:198万
展开全部
CheckBox CB = (CheckBox)gvTest.Rows[j].FindControl("cbTest");

类型转换的对象错误改成
(CheckBox)(gvTest.Rows[j].FindControl("cbTest"))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
搭鹊相逢连理枝0
2008-09-02 · TA获得超过143个赞
知道答主
回答量:289
采纳率:0%
帮助的人:0
展开全部
打个段点调试下看if (CB.Checked)
{
intTest = intTest + 1;
CB.Checked = true;
}
有没运行啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式