【问题标题】:Dynamically add Control on server-side Event在服务器端事件上动态添加控件
【发布时间】:2011-10-09 06:25:55
【问题描述】:

我想在用户单击按钮(服务器端事件)时添加用户控件。
我可以动态添加控件,但由于页面生命周期太晚了,该用户控件上的事件不会触发(在这种特定情况下,该用户控件中的按钮)。

我看到的所有解决方案都是在 Page_Init(或 Page_Load)上添加我在这里无法做到的控件,而且控件必须保持“动态”,所以我不能只是隐藏它然后制作可见。

【问题讨论】:

    标签: asp.net user-controls event-handling dynamic


    【解决方案1】:

    这里的问题是这些控件的 ID 是自动生成的,而 asp.net 通过 ID 匹配控件的事件。

    我通过在创建每个动态控件后为其提供 ID 来解决此问题。

    Control control = LoadControl("~/Controls/" + controlName + ".ascx");
    control.ID = "SomeId";
    parentElement.Controls.Add(control);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-24
      • 2011-02-08
      • 1970-01-01
      • 2012-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多