我有一个嵌套在转发器中的用户控件。 在我的用户控件中,我有另一个中继器,其中有一个面板。
我试图重写用户控件的 LoadViewState 事件并将控件动态添加到面板。我想在 LoadViewState 中执行此操作,以便在加载 View 状态之前添加动态控件,以便它们在回发后保留其值。
由于某种原因,用户控件 (ascx) 上的 LoadViewState 事件未触发。有什么方法可以强制它点火,或者我可以使用其他方法吗?我已经排除了用户控件中继器数据绑定(bind)事件,因为即使数据绑定(bind)没有发生,我也需要它工作,而且我也无法在中继器项目创建事件上执行此操作,因为子面板和内部 html 不存在还没有。
最佳答案
LoadViewState
不是添加子控件的合适位置。要在用户控件中动态添加控件,您需要查看 CreateChildControls方法。
它不会触发 LoadViewState
事件,因为您需要在 ViewState
中保存至少一个值才能触发该事件。
关于asp.net - LoadViewState 未在我的用户控件上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2478509/