我正在尝试使用asp.net的UpdatePanel
和ScriptManager
控件来启用页面的ajax,我希望使用ScriptManager
的{{1}来实现“历史记录”设施。
这是我页面的一个片段:
AddHistoryPoint()
因此,当某个按钮或其他控件触发代码后面的事件时,我按如下方式添加HistoryPoint:
<asp:ScriptManager runat="server" ID="searchScriptManager" AsyncPostBackTimeout="6000" EnableHistory="true" OnNavigate="searchScriptManager_Navigate"/>
<div class="container">
<asp:UpdatePanel runat="server" ID="updPanelSearch">
...stuff....
</asp:UpdatePanel>
</div>
这似乎正常工作:我的页面的URL发生了变化,当我按下后,ScriptManager的protected void btnPerformSearch_Click(object sender, EventArgs e)
{
//Do stuff...
searchScriptManager.AddHistoryPoint("actionDone", "search");
}
事件正确触发。这是问题。在我的Navigate事件处理程序中,State字典总是空的,因此无法正确处理事情:
Navigate
我做错了什么?