我正在以编程方式将Webcontrols添加到用户控件中我还添加了一个javascript事件,将controlID作为参数传递但是clientID是我指定的那个,它不包含asp.net生成的那个
var txt = new TextBox(); txt.ID = "MyID"+Number; chkBox.Attributes.Add("onClick", "EnableTxtBox('" +txt.ClientID + "');");
我可以通过添加父控件ID来解决此问题
chkBox.Attributes.Add("onClick", "EnableTxtBox('" + this.ClientID+"_"+txt.ClientID + "');");
生成客户端ID的页面生命周期是什么?
在添加属性之前,需要将控件添加到控件层次结构中.
var txt = new TextBox(); txt.ID = "MyID"+Number; Controls.Add ( txt ); chkBox.Attributes.Add("onClick", "EnableTxtBox('" +txt.ClientID + "');");
ControlCollection不是普通的集合; 它会在添加控件时通知所有者控件,并且控件可以采取适当的操作.