【发布时间】:2011-03-15 18:00:13
【问题描述】:
我正在使用ScriptManager 控件从服务器 Web 服务加载搜索结果。页面上有一个文本框和按钮,用户可以在其中输入搜索词。当他们提交搜索时,搜索页面会调用 Response.Redirect。我使用 ScriptManager 的历史功能来跟踪用户可以执行的过滤。如果您熟悉此功能,则 URL 最终看起来像这样:
http://somesite/search.aspx?q=giant+dog#color=red&hair=long
我的问题是,如果用户想要使用 search.aspx 页面上的文本框和按钮进行另一次搜索,这会导致 response.redirect,查询字符串会更改,但哈希历史记录会保留在 URL 中。这对我来说没有意义,因为根据我对Response.Redirect("someURL") 的理解,无论它是否会转到它离开的同一页面,它都应该像将您发送到一个新页面一样。
我知道我可以设置window.location.hash = "#",但我希望有比服务器端更简洁的方法。
请帮忙! :-)
【问题讨论】:
标签: c# asp.net history scriptmanager