加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

使用ASP.net刷新/重新加载副作用?

发布时间:2020-12-16 03:55:01 所属栏目:asp.Net 来源:网络整理
导读:我在web ASP.Net开发,所以请耐心等待.在测试我们的网页的过程中,我注意到如果用户单击“刷新/重新加载”,并在“重新发送信息”对话框上出现提示时单击“重试”,则在用户选择之前触发的最后一个事件“刷新”,随后将再次解雇. 作为一个例子,我们有“上一页”和
我在web& ASP.Net开发,所以请耐心等待.在测试我们的网页的过程中,我注意到如果用户单击“刷新/重新加载”,并在“重新发送信息”对话框上出现提示时单击“重试”,则在用户选择之前触发的最后一个事件“刷新”,随后将再次解雇.
作为一个例子,我们有“上一页”和“下一页”导航按钮,允许用户浏览一系列问题.如果运算符点击“刷新/重新加载”,那么用户按下最后一个导航按钮将再次点火.这实际上是有道理的,但净效果是用户最终在他以前查看的下一页或上一页上.这种事情有解决方法吗?

解决方法

这是由于您处理 PostBacks的方式.

有一点背景是必要的:

Web是“无状态的”,这意味着从客户端到服务器的每个请求都与之前的请求或之后的请求无关.没有“国家”维持.如果您查看HTTP级别,它只是发送到服务器的文本blob,上面写着“向我发送此信息”,然后服务器将其发送回去.没有“我是3分钟前在这里的同一个用户,我想从上次发言时转到下一页”.

ASP.NET解决此问题的方法是使用ViewState和回发.每次单击ASP.NET按钮时,它实际上都是提交一个包含隐藏字段和一堆编码数据的表单.该数据包含服务器需要“重建”页面状态的所有信息,因为它是最后一次.然后它可以执行“移动到下一页”,该命令是有意义的.当ASP.NET将HTML发送回客户端时,它会使用新数据更新该隐藏字段,再次表示页面的状态,就像现在一样.下次单击任何按钮时,将再次发送数据,再次重新构建页面并重复循环.

当用户点击“刷新”时,浏览器会询问他们是否要重新提交表单.他们正在重新提交他们上一次所做的相同数据.

对你的影响:

如果您尝试跟踪有关用户的任何数据或他们独立于ASP.NET ViewState执行的操作,则需要确保每次页面处理时都同步该数据.

您可能希望在ViewState中保留“当前页面”:

ViewState.Add("CurrentPage",intCurrentPage);

因此,当您调用MoveNext事件处理程序时,您可以确保相对于页面移动,因为它是最后一次发送到客户端.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读