以编程方式在ASP.NET中添加用户控件

Fio*_*ite 3 c# asp.net user-controls

我有一个用户控件,需要在单击按钮时加载子控件.麻烦的是它必须从另一个类请求控制.

所以在按钮点击事件中,我调用该函数来获取我的控件,并将其添加到页面中,如下所示:

UserControl ctrl = ExampleDataProvider.GetControl(some params...);
myDetailPane.Controls.Add(ctrl);
Run Code Online (Sandbox Code Playgroud)

GetControl方法如下所示:

public static UserControl GetControl(some params...)
        {
            ExampleDetailPane ctrl = new ExampleDetailPane();
            ctrl.Value = "12";
            ctrl.Comment = string.Empty;
            return ctrl;
        }
Run Code Online (Sandbox Code Playgroud)

由于页面的生命周期,这不起作用 - 子控件的Page_Load被触发,其控件为null.

我知道我的做法是错误的,为什么,但不知道解决它的最佳方法!有人可以帮忙吗?

Ric*_*end 7

在每一个回传动态控件必须重新创建,这是关于如何坚持动态控件和他们的状态了良好的联系.

  • 链接坏了 (2认同)