【问题标题】:During which phase of the Asp.net control lifecycle or event the client,id are resolved在 Asp.net 控件生命周期或事件的哪个阶段解析客户端 ID
【发布时间】:2011-09-14 17:11:17
【问题描述】:

我开发了一个服务器控件,它是继承自 checkboxlist 的自定义控件并实现了 IScriptControl 我使用控件 idclientId 在控件构造函数期间设置用于在客户端呈现的一些属性,但天哪,两者都是 null当我调试它们时。所以应该有问题了,是什么?

【问题讨论】:

    标签: c# asp.net custom-controls custom-server-controls checkboxlist


    【解决方案1】:

    在 Pre_Render 阶段,您可以获得实际的 clientID 和 ID 属性

    public override void Pre_Render()
    {
    
    //control.ClientID and control.ID are available now
    
    }
    

    【讨论】:

      【解决方案2】:

      Page 有一个 InitComplete 事件,应该可以在控件之外使用,但控件本身看起来只有 InitLoad 事件在生命周期的早期就可以利用它的属性

      如果您在 Control 内部设置其他属性,我可能会覆盖 Control 的 OnLoad 方法:

      protected override void OnLoad(EventArgs e)
      {
          base.OnLoad(e);
          //do your property setting here
      }
      

      【讨论】:

      • 我不明白你让我感到困惑。我必须向上移动到 Page 来设置它们吗?或覆盖控件初始化事件并将它们设置在那里
      猜你喜欢
      • 2018-12-20
      • 2011-01-21
      • 1970-01-01
      • 1970-01-01
      • 2010-09-10
      • 2019-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多