我有一个用户控件需要在单击按钮时加载子控件。 问题是它必须向另一个类请求控制。
所以在按钮单击事件中,我调用函数来获取我的控件,并将其添加到页面中,如下所示:
UserControl ctrl = ExampleDataProvider.GetControl(some params...);
myDetailPane.Controls.Add(ctrl);
GetControl 方法如下所示:
public static UserControl GetControl(some params...)
{
ExampleDetailPane ctrl = new ExampleDetailPane();
ctrl.Value = "12";
ctrl.Comment = string.Empty;
return ctrl;
}
由于页面的生命周期,这不起作用 - 子控件的 Page_Load 被触发并且其控件为空。
我有点知道我的方法是错误的以及为什么,但不知道解决它的最佳方法!谁能帮忙?
最佳答案
必须在每次回发时重新创建动态控件,这 Article是关于如何持久化动态控件及其状态的一个很好的链接。
关于c# - 以编程方式在 ASP.NET 中添加用户控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2050121/