使用会话状态的值初始化控件的传统方式如下 -
if (!IsPostBack)
{
if (Session["sessionId"] != null)
{
//initialize controls
}
}
在用户控件包装在更新面板中时出现意外行为。
我需要首次从会话状态填充usercontrol textBox值。并且应该从viewState填充后续加载这些控件值。
您如何处理这种情况。您认为 Page.IsAsync 会对此有所帮助吗?
答案 0 :(得分:1)
IsPostback
属性返回true
,即使从控件发出回发,也放在UpdatePanel中。因此,可以使用IsPostBack
属性在第一页加载时进行控件初始化。
顺便说一句Page.IsAsync
属性用于完全不同的目的,而不是用于检测异步回发。如果需要从UpdatePanel检测异步回发,请检查ScriptManager.IsInAsyncPostBack
属性