当您为网站创建搜索时,您希望用户体验随时随地,当您浏览网格视图时,您希望能够按返回按钮返回上一个查看过的页面。
在使用asp.net ajax的asp.net中,使用ScriptManager
+ Ajax Control Toolkit时可以使用History Manager
。
现在,当您使用ASP.NET MVC时,您无法使用ScriptManager
,因为它需要以服务器运行的形式嵌套。
此示例代码用于基本搜索
<% using(Ajax.BeginForm("TestSearch",
new AjaxOptions { UpdateTargetId = "details" })) { %>
<%= Html.TextBox("search") %>
<input type="submit" value="search" />
<% } %>
当您按标准页面上的提交按钮时,您将被发布到不同的页面,但是,在这种情况下,您不会。因此没有保存历史记录,因为整个网页没有重新加载。
这只是第一个问题。
问题#2
由于未保存历史记录,如上所述,文本框的搜索历史记录不会更新。只有当页面完全回发时才会添加文本框历史记录条目,如何使用asp.net mvc + ajax解决这个问题?
答案 0 :(得分:1)
您仍然可以使用HistoryManager,但jquery还有更多选项。
答案 1 :(得分:0)
您是否查看了MVC ScriptManager?
我知道,但我一无所知......
答案 2 :(得分:0)
项目中的MS AJAX脚本中提供了内置历史记录;你应该只能在客户端使用它。