我有一个ASP.NET表单,用户可以对其进行大量更改,每次更改页面PostsBack并更新详细信息。
如果用户点击浏览器后退按钮,则会返回所有以前版本的页面。
是否可以停止浏览器将每个PostBack视为新页面?
所以他们会做出他们喜欢的任何改变,如果他们点击后退按钮,它会将它们带到上一个表单而不是相同的表单但是不同的版本?
我知道我可以使用AJAX来更新值,但我不是一个高级编码器,所以试图保持简单,因为我之前没有使用过AJAX。
答案 0 :(得分:3)
Ajax是您唯一的解决方案。
无法从浏览器历史记录中删除页面。 Javascript被明确拒绝了该功能。
现在,您可能会阻止他们使用后退按钮。虽然这可能导致不满意的用户,但我并不是100%肯定它适用于所有浏览器。
function body_onload(){
window.history.forward(1);
}
答案 1 :(得分:0)
您可以使用UpdatePanel:http://msdn.microsoft.com/en-us/library/bb386454.aspx
答案 2 :(得分:0)
你可以使用技巧来做到这一点。
在回发时,您可以将会话位设置为true,表示他们提交了该表单。在回发上检查是否设置了该值。如果它是他们试图再次做,你可以中止它。它不会阻止回发本身,但你可以控制逻辑并防止它做任何事情。
我个人会探索ajax,因为Jquery提供了一些很好的方法来实现它,这是一种学习经验,但我想这会像你要求的那样工作。基于每个会话。如果您只想提交1次,请使用数据库来存储活动。