我有一个用于搜索的 asp.net 表单。搜索结果显示在使用 Ajax 的同一页面上。如果我导航到另一个页面并返回,我会得到填充的表单,但搜索结果是空的。返回页面并填充结果的最佳方式是什么。
或者如何在单击返回按钮时强制页面回发以使用结果重新填充页面?
我有一个用于搜索的 asp.net 表单。搜索结果显示在使用 Ajax 的同一页面上。如果我导航到另一个页面并返回,我会得到填充的表单,但搜索结果是空的。返回页面并填充结果的最佳方式是什么。
或者如何在单击返回按钮时强制页面回发以使用结果重新填充页面?
您可以使用ScriptManager上的EnableHistory属性来执行此操作。将 ScriptManager 的 EnableHistory 属性设置为 True 后,您可以使用AddHistoryPoint方法在页面中设置历史记录点。
<asp:ScriptManager runat="server" ID="MyScriptManager" EnableHistory="True">
</asp:ScriptManager>
如果您使用的是 jQuery,这里还有一些:
http://plugins.jquery.com/project/history
http://stilbuero.de/jquery/history/
http://www.overset.com/2008/06/18/jquery-history-plugin/
https://stackoverflow.com/questions/116446/what-is-the-best-back-button-jquery-plugin
为了保留页面上先前选择的数据,用户应添加以下代码:
Response.Cache.SetCacheability(HttpCacheability.NoCache)
在Page_load
页面的情况下。
因此,当用户点击浏览器的返回按钮时,调试器将来到页面的页面加载事件,用户可以将值存储在会话变量(优先搜索条件)中并加载重新绑定Gridview
或任何服务器控件。