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

在asp.net中发布回发和浏览器后退按钮问题

发布时间:2020-12-16 09:54:01 所属栏目:asp.Net 来源:网络整理
导读:我正在开发Web应用程序.我有一个向用户显示数据的网格.当用户单击网格的任何一行时,它会将用户重定向到另一个页面,因为我们在a列上有一个asp链接控件. 问题 我的代码就像 if (!Page.IsPostBack) { //CODE } 当用户单击BROWSER BACK按钮时,它不会执行CODE.只
我正在开发Web应用程序.我有一个向用户显示数据的网格.当用户单击网格的任何一行时,它会将用户重定向到另一个页面,因为我们在a列上有一个asp链接控件.
问题

我的代码就像

if (!Page.IsPostBack)
             {
                //CODE
             }

当用户单击BROWSER BACK按钮时,它不会执行CODE.只需显示来自CACHE的数据.
如何在浏览器后退按钮上执行CODE?

解决方法

这是ASP.Net的全球性问题.大多数开发人员都喜欢Windows开发人员.它以回发结束,主要用于任何操作,包括导航操作.

要解决这样的问题:

>避免使用按钮来更改页面.使用目标URL生成超链接.
>在更新面板中包装页面的部分.好处是浏览器在每次回发后都不会看到页面更改.然后,您将能够在没有警告对话框的情况下“刷新”页面
>填充网格时,不是从codebehin“选择”一行,而是在网址中生成一个指向“?ID = 42”的同一页面的链接,并将此值作为selectedvalue绑定到网格

这种“邪恶”行为的根本原因是使用HTTP Post请求发布回发.然后,浏览器需要重新发布页面以重建它.

使用上面提到的技术,您将发出GET请求.这种请求不需要重新提交任何内容.

(编辑:李大同)

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

    推荐文章
      热点阅读