防止在历史记录中显示回发

时间:2020-03-06 14:26:26  来源:igfitidea点击:

我有一个页面,我在其中提交一些数据,并返回到原始表单,并显示"保存成功"消息。但是,用户希望能够通过单击浏览器的"后退"按钮返回到他们所在的上一页(包含搜索结果)。但是,由于回发,当他们单击"上一步"按钮时,他们不会转到上一页,而只是转到同一页面(但处于其先前状态)。我了解到启用" SmartNavigation"将解决此问题(历史记录中出现回发),但是已弃用。什么是"新"最佳实践?

*编辑我添加了一个" ScriptManager"控件,并将按钮包装在" UpdatePanel"中,但是现在我收到以下错误:

类型'System.Web.UI.UpdatePanel'没有名为'Button'的公共属性。

我是否缺少参考?

*忽略以上编辑,我只是​​忘了将<ContentTemplate>部分添加到UpdatePanel:P

解决方案

如果将"保存"按钮放在UpdatePanel中,则回发将不会显示在用户历史记录中。

如果可能的话,我会避免的。更好的解决方案是使用一个按钮,使它们仅在"保存成功"屏幕上返回到搜索结果。

保存ajaxy的问题是我们违反了用户期望的"后退"规则。该用户可能希望"上一步"按钮返回到"搜索"页面,但是其他用户可能希望单击"上一步"会将他们返回到"添加/更新"页面。因此,如果另一个用户尝试更新某些内容,请单击"保存",然后"哇,我在更新中忘记了某些内容",他们将单击返回,现在它们位于搜索结果中,而不是预期的"更新"页面。