C# ScriptManager.AddHistoryPoint-页面首先显示原始页面状态,然后显示保存状态

C# ScriptManager.AddHistoryPoint-页面首先显示原始页面状态,然后显示保存状态,c#,asp.net,updatepanel,scriptmanager,C#,Asp.net,Updatepanel,Scriptmanager,我正在使用UpdatePanel和ScriptManager的AddHistoryPoint方法在浏览器的历史记录中保存我的页面状态。该页面是一个简单的搜索/结果页面,有两种状态: 状态1-显示搜索筛选器 状态2-显示搜索结果 当我通过单击浏览器中的“上一步”按钮导航回页面时,页面显示初始状态1,但随后“更新”面板将返回,页面将翻转到搜索结果状态2 这看起来不整洁,感觉我的实现中缺少了一些东西。如何告诉页面加载保存的状态,或者在加载保存的状态之前隐藏页面内容?正如我在ScriptManager事

我正在使用UpdatePanel和ScriptManager的AddHistoryPoint方法在浏览器的历史记录中保存我的页面状态。该页面是一个简单的搜索/结果页面,有两种状态:

状态1-显示搜索筛选器 状态2-显示搜索结果 当我通过单击浏览器中的“上一步”按钮导航回页面时,页面显示初始状态1,但随后“更新”面板将返回,页面将翻转到搜索结果状态2


这看起来不整洁,感觉我的实现中缺少了一些东西。如何告诉页面加载保存的状态,或者在加载保存的状态之前隐藏页面内容?

正如我在ScriptManager事件OnNavigateHistory中所知道的,您必须在此处处理该示例,您为状态添加HistoryPoint一个和两个相同的键ID,但值不同,并且OnNavigateHistory基于e.state[你的钥匙]你决定留在哪个州。 范例

对不起,我英语不好

string indexString = e.State["YourKey"]; 
    if (String.IsNullOrEmpty(indexString)) { 
         SetToStateOne();
    }
    else { 
        int index = int.Parse(indexString); 
        SetToStateTwo();
    }