FindControl对动态复选框不起作用
本文关键字:不起作用 复选框 动态 FindControl | 更新日期: 2023-09-27 18:02:02
查找控件似乎与我的动态复选框不起作用;我要做的是查看用户是否选中了某个复选框,以及最终选中了哪些复选框。
在我的代码我有一个测试,看看它是否正常工作
public void test()
{
// Find control on page.
CheckBox myControl1 = (CheckBox)Table1.FindControl("CBX0");
if (myControl1 != null)
{
// Get control's parent.
Control myControl2 = myControl1.Parent;
Response.Write("Parent of the text box is : " + myControl2.ID);
if (myControl1.Checked == true)
{
Response.Write("check box checked");
}
}
else
{
Response.Write("Control not found");
}
}
当我运行我的代码,它打印"父文本框是",但它不会打印父,这应该是mycontrol2.id
可能父控件没有ID。
而不是尝试:
Response.Write("Parent of the text box is : " + myControl2);
查找父节点的类型。我觉得如果你期望家长是桌子那你就错了。它可能是一个TableCell
myControl2可能在层次结构中更高;继续在层次结构中查找控件,它可能是mycontrol1.Parent.Parent
或更多父引用。ASP。. NET有时会在层次结构中放置其他控件,因此它可能不是直接父控件。
HTH .
创建复选框时是否有runat="server" ?
何时调用此测试方法。考虑调用它onPreRender,它应该返回ID。当您动态创建控件并添加到页面时,如果没有分配nny ID,请在呈现给浏览器