我有一个页面,我提交了一些数据,然后返回原始表单并显示“保存成功”消息。但是,用户希望能够通过单击浏览器的“后退”按钮返回到他们所在的上一页(包含搜索结果)。但是,由于回发,当他们单击“返回”按钮时,他们不会转到上一页,他们只是转到同一页面(但是在之前的状态)。我读到启用SmartNavigation
将处理此问题(历史记录中出现的回发)但是,它已被弃用。什么是“新”最佳实践?
*编辑 - 我添加了ScriptManager
控件,并将按钮包裹在UpdatePanel
中,但是现在我收到以下错误:
Type 'System.Web.UI.UpdatePanel' does not have a public property named 'Button'
我错过了参考资料吗?
*忽略上面的编辑,我只是忘了添加< ContentTemplate>部分到UpdatePanel
:P
答案 0 :(得分:4)
如果您将“保存”按钮放在UpdatePanel中,则回发将不会显示在用户历史记录中。
答案 1 :(得分:0)
如果可能,我会避免。一个更好的解决方案是在“保存成功”屏幕上有一个按钮,只返回搜索结果。
ajaxy保存的问题是你违反了用户期望的“后退”规则。此用户可能希望“后退”按钮返回“搜索”页面,但其他用户可能希望单击“返回”将其返回“添加/更新”页面。因此,如果另一个用户尝试更新某些内容,点击保存,然后“woops,我忘记更新内容”,他们将点击返回,现在他们处于搜索结果,而不是预期的更新页面。