asp.net中gridview关于checkbox的问题

janinggeng 2011-07-01 08:13:43
我做了一个gridview,其中一列为checkbox

点击某按钮后,将gridview中checkbox被选中的行选出来做处理,代码如下

问题是,调试代码过程中,选中的checkbox也说没有选中


protected void Button10_Click(object sender, EventArgs e)
{
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
if (cbox.Checked == true)
{
...//处理代码
}
else
{
...//处理代码
}
}


}
...全文
120 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
janinggeng 2011-07-04
  • 打赏
  • 举报
回复
page_load中加入ispostback就好了,因为如果不加入这个的话,点击按钮都会重新加载页面,使控件刷新
patrickjiang 2011-07-03
  • 打赏
  • 举报
回复
Mark!
lcb416331902 2011-07-03
  • 打赏
  • 举报
回复
英明!!我只知道IsPostback判断是否是首次加载 不知道还有绑定控件有关 我load页面加 if (!Page.IsPostBack){..}就好使了 谢谢了 困扰我两天了
罗马和尚 2011-07-02
  • 打赏
  • 举报
回复
现在写代码基本都写 的重复着.......过渡期.....唉.......
  • 打赏
  • 举报
回复
应该是缺少IsPostback 等你点击确认后 页面会重新回发滴 当然取 不到值咯
子夜__ 2011-07-02
  • 打赏
  • 举报
回复
page_load里的代码呢?
lcb416331902 2011-07-02
  • 打赏
  • 举报
回复
不懂 为什么用treeview
全局变量 2011-07-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sp1234 的回复:]

Button10_Click被调用之前,是不是你的GridView1被重新绑定重新创建了?比如在page_load中缺乏 if(!IsPostback)判断?
[/Quote] 二楼正解。
hzd2181 2011-07-02
  • 打赏
  • 举报
回复
是不是调用Button之前页面刷新了
mymantou 2011-07-02
  • 打赏
  • 举报
回复
之前,我 也到了这个问题,我用到的解决办法是捕捉ontreenodecheckchanged时间。
前台:<asp:TreeView ID="TreeView1" ShowCheckBoxes="All" runat="server"
ShowLines="True" ontreenodecheckchanged="Node_CheckChanged" >
后台:

protected TreeNodeCollection tnodelist = new TreeNodeCollection();
protected void Node_CheckChanged(object sender, TreeNodeEventArgs e)
{
tnodelist.Add(e.Node);
}
lcb416331902 2011-07-02
  • 打赏
  • 举报
回复
foreach (GridViewRow dr in GridView2.Rows)//
{

RadioButton rdA = (RadioButton)dr.FindControl("rdA");
RadioButton rdB = dr.FindControl("rdB") as RadioButton;
RadioButton rdC = dr.FindControl("rdC") as RadioButton;
RadioButton rdD = dr.FindControl("rdD") as RadioButton;
string Answer = "";
if (rdA.Checked)
{
Answer = "A";

}
else if (rdB.Checked)
{
Answer = "B";
}
else if (rdC.Checked)
{
Answer = "C";
}
else if (rdD.Checked)
{
Answer = "D";
}
else
{
Answer = "";
}
就算选中 调试的时候checked也是false
不知所措中~~
cyfbj 2011-07-02
  • 打赏
  • 举报
回复
应该是 拼写错误 或 重新绑定导致的 正常情况下这样写没有问题
lcb416331902 2011-07-02
  • 打赏
  • 举报
回复
嗨……我也出现这个问题了~~~~跪求
  • 打赏
  • 举报
回复
你可以把那本老教程中的例子做一遍,然后对照一下你的代码。写代码越少越好,代码写的少,说明你的精力都放在设计上了。代码写的多,说明更容易出现bug。
  • 打赏
  • 举报
回复
Button10_Click被调用之前,是不是你的GridView1被重新绑定重新创建了?比如在page_load中缺乏 if(!IsPostback)判断?
啊兵 2011-07-01
  • 打赏
  • 举报
回复
你可以通过 JS来处理吗?

62,265

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧