我有一个 Asp.net .aspx 页面。我以一个简单的联系我们页面为例。该页面有 3 个字段 - 名称/电子邮件/问题。场景是,用户输入了错误的电子邮件地址,作为响应,系统通过检查正则表达式来显示错误消息。
现在,如果用户点击浏览器按钮或退格键,浏览器将显示相同的页面而没有错误消息 - 这意味着落后了 1 步。
如果用户犯了 2 个并发错误 - 1)将名称框留空,点击提交(错误消息显示说所有字段都是必填的)。2)错误的电子邮件,点击提交(错误消息显示输入错误的电子邮件)
现在,如果用户点击返回浏览器按钮或退格键,浏览器将显示与先前错误消息相同的页面(对于空框),即落后 1 步。再次回击,显示相同的页面,没有任何错误消息,即落后 2 步。
我不希望后退按钮或退格键执行这些不需要的操作。我也不想禁用后退按钮或不缓存任何内容。
我需要的是,当用户点击后退按钮或退格键时,他们应该登陆到以前浏览过的不同页面,而不是同一个页面。这意味着,我不希望浏览器缓存在多次回发期间保留页面。相反,缓存应该只在页面最初着陆时保存一次。
有时我听说这种方法称为 smartnavigation,我尝试使用谷歌搜索,但找不到非常有用和优化的东西。这是我找到的最好的文章(不确定这是我要找的)。 http://support.microsoft.com/kb/913721
问题是,我不完全确定如何准确引用这个问题。
我希望我的问题非常简单(我试图澄清)。如果有不清楚的地方,请告诉我。
我将不胜感激任何帮助。
提前致谢。