停止显示为单独页面的ASP.NET PostBacks?

时间:2012-01-10 00:16:07

标签: c# asp.net vb.net postback

我有一个ASP.NET表单,用户可以对其进行大量更改,每次更改页面PostsBack并更新详细信息。

如果用户点击浏览器后退按钮,则会返回所有以前版本的页面。

是否可以停止浏览器将每个PostBack视为新页面?

所以他们会做出他们喜欢的任何改变,如果他们点击后退按钮,它会将它们带到上一个表单而不是相同的表单但是不同的版本?

我知道我可以使用AJAX来更新值,但我不是一个高级编码器,所以试图保持简单,因为我之前没有使用过AJAX。

3 个答案:

答案 0 :(得分:3)

Ajax是您唯一的解决方案。

无法从浏览器历史记录中删除页面。 Javascript被明确拒绝了该功能。

现在,您可能会阻止他们使用后退按钮。虽然这可能导致不满意的用户,但我并不是100%肯定它适用于所有浏览器。

function body_onload(){
    window.history.forward(1);
} 

答案 1 :(得分:0)

答案 2 :(得分:0)

你可以使用技巧来做到这一点。

在回发时,您可以将会话位设置为true,表示他们提交了该表单。在回发上检查是否设置了该值。如果它是他们试图再次做,你可以中止它。它不会阻止回发本身,但你可以控制逻辑并防止它做任何事情。

我个人会探索ajax,因为Jquery提供了一些很好的方法来实现它,这是一种学习经验,但我想这会像你要求的那样工作。基于每个会话。如果您只想提交1次,请使用数据库来存储活动。