【发布时间】:2010-01-12 15:39:28
【问题描述】:
我有一个用户控件需要在单击按钮时加载子控件。 问题是它必须向另一个类请求控制。
所以在按钮单击事件中,我调用该函数来获取我的控制权,并将其添加到页面中,如下所示:
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 被触发并且其控件为空。
我有点知道我的方法是错误的以及为什么,但不知道修复它的最佳方法!有人可以帮忙吗?
【问题讨论】:
-
必须在每次回发时重新创建动态控件,这是关于如何持久化动态控件及其状态的一个很好的链接。 singingeels.com/Articles/…
-
@Richard,+1,因为这是完成这项工作的唯一方法。您应该将此作为答案而不是评论。
标签: c# asp.net user-controls