要更新datalist选中的checkbox行信息,通过断点,发现总是找不checkbox
dlEmotion 是datalist的ID,cbChenk是checkbox的ID,大家有什么好办法可以找到datalist里的checkbox呢?非常谢谢!!
protected void Button4_Click(object sender, EventArgs e)
{
CheckBox CB = (CheckBox)((DataListItem)dlEmotion.Controls[dlEmotion.Controls.Count - 1]).FindControl("cbChenk");
if (CB!=null&&CB.Checked)
{
HiddenField hf = dlEmotion.Items[1].FindControl("hfID") as HiddenField;
if (hf != null)
{
string id = hf.Value;
int ids = int.Parse(id); string sql = string.Format("update MenuType set [Menuname]='{0}' where [MenuId]='{1}'", this.TextBox2.Text,ids); if (sd.CRUD(sql) > 0)
{
Response.Write("<script>alert('更改成功')</script>");
}
else { Response.Redirect("<script>alert('更改失败')</script>"); }
}
}
DataBinds();
}
dlEmotion 是datalist的ID,cbChenk是checkbox的ID,大家有什么好办法可以找到datalist里的checkbox呢?非常谢谢!!
protected void Button4_Click(object sender, EventArgs e)
{
CheckBox CB = (CheckBox)((DataListItem)dlEmotion.Controls[dlEmotion.Controls.Count - 1]).FindControl("cbChenk");
if (CB!=null&&CB.Checked)
{
HiddenField hf = dlEmotion.Items[1].FindControl("hfID") as HiddenField;
if (hf != null)
{
string id = hf.Value;
int ids = int.Parse(id); string sql = string.Format("update MenuType set [Menuname]='{0}' where [MenuId]='{1}'", this.TextBox2.Text,ids); if (sd.CRUD(sql) > 0)
{
Response.Write("<script>alert('更改成功')</script>");
}
else { Response.Redirect("<script>alert('更改失败')</script>"); }
}
}
DataBinds();
}
你是说这样吗?还是没找到
for(int i=0; i < dlEmotion.Items.Count;i++)
{
CheckBox CB = (CheckBox) dlEmotion .Items[i].FindControl("cbChenk"); if (CB!=null&&CB.Checked)
{
HiddenField hf = dlEmotion.Items[1].FindControl("hfID") as HiddenField;
if (hf != null)
{
string id = hf.Value;
int ids = int.Parse(id); string sql = string.Format("update MenuType set [Menuname]='{0}' where [MenuId]='{1}'", this.TextBox2.Text,ids); if (sd.CRUD(sql) > 0)
{
Response.Write("<script>alert('更改成功')</script>");
}
else { Response.Redirect("<script>alert('更改失败')</script>"); }
} }
}
DataBinds();
你调试了没,这个if判断有没有进去?
FindControl语句总是觉得有点问题 ,我好久没用过DataList这样找控件了,你从这两个地方去找,差不多就在这两个地方出了错误。下班了,要先闪了