【问题标题】:Why dynamically loaded controls are lost during postback?为什么动态加载的控件在回发期间会丢失?
【发布时间】:2014-06-03 09:19:51
【问题描述】:

场景 1: 我正在动态加载一个用户控件。从这个动态加载的用户控件中,我正在动态加载其他用户控件。

但是在回发期间,所有动态加载的控件都丢失了。

场景 2: 我在 Page.aspx 页面中放置了一个用户控件。在这个用户控件中,我正在动态加载其他用户控件。

但在这种情况下,在回发期间保留控件。

为什么在场景 2 中保留控件而在场景 1 中不保留?

【问题讨论】:

    标签: c# asp.net user-controls dynamic-controls


    【解决方案1】:

    场景1中的问题是——

    如果动态加载控件,则需要在回发后以相同的 Id 在 Page_Init(或 Page_Load)中重新加载。

    为了重新加载它,我们通常将 Control 的 Id 保留在 ViewState 中以保持回发。

    Here 就是一个例子。

    【讨论】:

    • 但是为什么在场景 2 中保留控件。在这种情况下,我还从用户控件动态加载控件,在回发期间我不会再次加载动态加载的用户控件。
    • 没有看到代码,我无法说出导致问题的原因。但是,动态创建的控件通常需要在回发时重新加载它们。
    猜你喜欢
    • 2013-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多