>我有一个用户控件,里面有一些复选框。 在回发时,我想读取复选框的状态。 我遇到问题的地方是我不知道如何调用用户控件内的控件。
我在每个用户控件中都有很多功能,这就是我这样做的原因。我让控件正常工作,只是不知道如何在回发时在 c# 中识别它们,以便我可以在某处打印结果。我也在使用母版页和更新面板。复选框设置为自动回发。
使用FindControl()
方法查找用户控件中的控件。
CheckBox cb = (CheckBox )userControlID.FindControl("childControlId")
您可以通过以下两种方式之一执行此操作:首先,您可以公开控件,允许它们从外部被视为 UserControl 的成员。其次,用户控件的控件属性始终是公共的,并且将包含复选框。您必须按类型和名称搜索它们;Linq 可以提供帮助:
var checkbox = myControl.Controls.OfType<CheckBox>().FirstOrDefault(chk=>chk.Name == "checkBoxName");