1

使用会话状态中的值初始化控件的传统方法如下 -

if (!IsPostBack)
        {
            if (Session["sessionId"] != null)
            {
                //initialize controls
            }
        }

当用户控件包含在更新面板中时,会出现意外行为。

我需要第一次从会话状态填充用户控件文本框值。并且这些控件值的后续加载应该从 viewState 填充。

你如何处理这种情况。您认为Page.IsAsync会对此有所帮助吗?

4

1 回答 1

1

IsPostbacktrue即使从控件触发回发,属性也会返回,放置在 UpdatePanel 中。因此,可以IsPostBack在第一页加载时使用属性进行控件初始化。

顺便说一句,Page.IsAsync属性用于完全不同的目的,而不是用于检测异步回发。如果您需要从 UpdatePanel 检测异步回发,请检查ScriptManager.IsInAsyncPostBack属性

于 2012-09-20T19:23:21.587 回答