GridView里嵌套CheckBox的问题

huangqiaoshuai 2009-08-09 06:05:16
GridView里嵌套CheckBox,用以实现选中进行删除的操作。可是不管怎么弄,checked属性始终为false。求高人指点。

代码如下:
前台代码:
<asp:TemplateField HeaderText="删除">
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
</ItemTemplate>
</asp:TemplateField>

后台代码:
注:Button2为删除按钮,单击,将通过复选框选中的行进行删除
protected void button2_Click(object sender, EventArgs e)
{
int flag = 0;
PE.BLL.QuestionnaireOperationBLL questionnaireOpertionBLL = new PE.BLL.QuestionnaireOperationBLL();
int questionnaireId = 0;
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
if (cbox.Checked == true)
{
questionnaireId = Convert.ToInt32(GridView1.Rows[i].Cells[1].Text);
questionnaireOpertionBLL.DeleteQuestionnaire(questionnaireId);
flag = flag + 1;
}
}
Response.Write(flag.ToString());
}
...全文
100 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2009-08-09
  • 打赏
  • 举报
回复
是否加if(!IsPostBack)
{
//绑定数据
}
我姓区不姓区 2009-08-09
  • 打赏
  • 举报
回复
把Page_Load里的代码贴出来看看
古龙老子 2009-08-09
  • 打赏
  • 举报
回复
for (int i = 0; i < this.GridView1.Rows.Count; i++)
{
bool ischeck = (GridView1.Rows[i].FindControl("CheckBox1") as CheckBox).Checked;
string id = (GridView1.DataKeys[GridView1.Rows[i].DataItemIndex].Value).ToString();
if (ischeck)
{
Business.Library.ProductResBL.Delete(id);
}

}


//这是我的

你的这句:questionnaireId = Convert.ToInt32(GridView1.Rows[i].Cells[1].Text);
是不是应该放到外面去
  • 打赏
  • 举报
回复
看不出来有什么问题··
lunasea0_0 2009-08-09
  • 打赏
  • 举报
回复
楼主用强转既然成功,那用as也没有必要的。

从代码看一点问题都没有,是不是楼主还有其他什么操作在 Page_Load的时候,楼主把core代码加到一个新页面里看看,问题还存不存在。
aaa1810 2009-08-09
  • 打赏
  • 举报
回复


for (int i = 0; i < GridView1.Rows.Count; i++)
{
if (GridView1.Rows[i].RowType == DataControlRowType.DataRow)
{
CheckBox ck = GridView1.Rows[i].FindControl("CheckBox1") as CheckBox;
if (ck.Checked)
{
//业务操作
}
}
}
}
aaa1810 2009-08-09
  • 打赏
  • 举报
回复
            for (int i = 0; i < GridView1.Rows.Count; i++)
{
if (GridView1.Rows[i].RowType == DataControlRowType.DataRow)
{
CheckBox ck = GridView1.Rows[i].FindControl("ckID") as CheckBox;
if (ck.Checked)
{
//业务操作
}
}
}
dong547785510 2009-08-09
  • 打赏
  • 举报
回复
来学习下。,
孟子E章 2009-08-09
  • 打赏
  • 举报
回复
参考
http://dotnet.aspx.cc/article/a8efc285-f0b1-4f8f-8e73-2b7d8724a47c/read.aspx

62,046

社区成员

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

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

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

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