无法找到CheckBox ID

时间:2014-06-25 03:30:01

标签: c# asp.net

我想在找到数据库中检查后检查复选框。我试过这个:

string chkboxbit = String.Empty;
CheckBox cb = new CheckBox();
chkboxbit = "ct100$ContentPlaceHolder1_chk" + item + "" + i;
cb = (CheckBox)Page.FindControl(chkboxbit.ToString());
cb.Checked = false;

但是我在调​​试时得到cb值为null。

2 个答案:

答案 0 :(得分:1)

我明白了...它运作正常......

chkboxbit = "chk" + item + "" + i;
ContentPlaceHolder cph = (ContentPlaceHolder)this.Master.FindControl("ContentPlaceHolder1");
cb = ((CheckBox)cph.FindControl(chkboxbit));
if (cb != null)
    cb.Checked = false;

感谢所有人的努力。 并感谢Kyojimaru。

答案 1 :(得分:0)

当你这样做时:

chkboxbit = "ct100$ContentPlaceHolder1_chk" + item + "" + i;

您似乎误将HTML中的ID误认为是您在.ASPX页面中提供的ID。

ct1000通常来自母版页。我敢打赌你只需要这样做:

chkboxbit = "ContentPlaceHolder1_chk" + item + i.ToString();

应该找到你的控制权。