客户端 ID 是在哪个页面生命周期生成的?

发布于 2024-07-09 13:20:23 字数 450 浏览 12 评论 0原文

我以编程方式将 Webcontrol 添加到用户控件中 我还添加了一个 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 是在哪个页面生命周期生成的?

i am programatically adding Webcontrols in to a User Control i am also adding a javascript event passing the controlID as a parameter but the clientID is the one i assigned a it does not contain the one that asp.net generates

   var txt = new TextBox();
   txt.ID = "MyID"+Number;

   chkBox.Attributes.Add("onClick", "EnableTxtBox('" +txt.ClientID + "');");

i can workAround this by adding the parent control ID

   chkBox.Attributes.Add("onClick", "EnableTxtBox('" + this.ClientID+"_"+txt.ClientID + "');");

On which Page life cycle are the Client IDs generated?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

水晶透心 2024-07-16 13:20:29

您应该能够在 OnPreRender() 期间添加该属性。 INamingContainer 有时是如此痛苦......

You should be able to add the attribute during OnPreRender(). INamingContainer is so painful sometimes...

就像说晚安 2024-07-16 13:20:27

在添加属性之前,您需要将控件添加到控件层次结构中。

   var txt = new TextBox();
   txt.ID = "MyID"+Number;
   Controls.Add ( txt );
   chkBox.Attributes.Add("onClick", "EnableTxtBox('" +txt.ClientID + "');");

ControlCollection 不是普通的集合; 当添加控件时,它会通知所有者控件,并且控件可以采取适当的操作。

You need to add the control to the control hierarchy before you add the attribute.

   var txt = new TextBox();
   txt.ID = "MyID"+Number;
   Controls.Add ( txt );
   chkBox.Attributes.Add("onClick", "EnableTxtBox('" +txt.ClientID + "');");

ControlCollection is no ordinary collection; it notifies the owner control when controls are added, and the control can take appropriate actions.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文