浏览器所做的那些让人哭笑不得的事情 C #

Jelena景 2013-11-15 03:57:53
浏览器怎么会这么变态呢
我做个功能,选中gridview上的一组数据,然后执行操作,之后想刷新一下网页,我点的是浏览器上的刷新,居然程序后台重新执行了一次操作,
这个要怎么办啊这是第一次的
我已经执行过操作的
我现在刷新一下网页
运单号变了
...全文
381 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
跳动de指尖 2013-11-18
  • 打赏
  • 举报
回复
引用 楼主 wyj116 的回复:
浏览器怎么会这么变态呢 我做个功能,选中gridview上的一组数据,然后执行操作,之后想刷新一下网页,我点的是浏览器上的刷新,居然程序后台重新执行了一次操作, 这个要怎么办啊这是第一次的 我已经执行过操作的 我现在刷新一下网页 运单号变了
实际上,你这个操作就是像服务端post了一个请求。 asp.net的服务器控件都是会post提交的。 所以,你刷新的时候,会造成重复提交。
duangufei 2013-11-18
  • 打赏
  • 举报
回复
提交完成后 你这样弹个框 Response.Write("<script>window.alert('不能删除你自己');location.href='" + Request.Url.ToString() + "';</script>"); 话说你的问题我以前也经常遇到
Jelena景 2013-11-18
  • 打赏
  • 举报
回复
引用 20 楼 ktei2008 的回复:
[quote=引用 18 楼 wyj116 的回复:] [quote=引用 15 楼 sp1234 的回复:] [quote=引用 楼主 wyj116 的回复:] 浏览器怎么会这么变态呢 我做个功能,选中gridview上的一组数据,然后执行操作,之后想刷新一下网页,我点的是浏览器上的刷新,居然程序后台重新执行了一次操作,
浏览器的“刷新”就是重新执行操作,这是所有浏览器的共同功能,你真的不知道么?[/quote]我真的不知道,如果不是客户那么操作,我也不会知道[/quote] 服了……你怎么做开发的?[/quote]跟你一样啊
ktei2008 2013-11-18
  • 打赏
  • 举报
回复
引用 18 楼 wyj116 的回复:
[quote=引用 15 楼 sp1234 的回复:] [quote=引用 楼主 wyj116 的回复:] 浏览器怎么会这么变态呢 我做个功能,选中gridview上的一组数据,然后执行操作,之后想刷新一下网页,我点的是浏览器上的刷新,居然程序后台重新执行了一次操作,
浏览器的“刷新”就是重新执行操作,这是所有浏览器的共同功能,你真的不知道么?[/quote]我真的不知道,如果不是客户那么操作,我也不会知道[/quote] 服了……你怎么做开发的?
Jelena景 2013-11-18
  • 打赏
  • 举报
回复
引用 16 楼 pravity 的回复:
不是浏览器变态,是asp.net控件有点二。 对gridview不了解,因为我虽然用asp.net编程,但基本不用Bug公司提供的控件。 看你的问题,应该是在你进行执行操作之后,.net服务器在你执行后的页面中留下了执行操作信息,所以在刷新页面后又执行了上步的操作。 建议在你进行执行操作后,“重新进入”相关页面,而非让控件回送数据,这样就能应该能够避免服务器在相关页面上留下不必要的执行信息。 或者屏掉页面F5键刷新功能,自己写个刷新按键,让页面“重新进入”。
嗯是的啊,我现在就加了一个js控制,可是还有会有点控件有效的问题,就先告诉客户,操作完了就已经是最新的了,如果实在想刷新,就点击一下页面上的查询按钮好了呵呵
Jelena景 2013-11-18
  • 打赏
  • 举报
回复
引用 15 楼 sp1234 的回复:
[quote=引用 楼主 wyj116 的回复:] 浏览器怎么会这么变态呢 我做个功能,选中gridview上的一组数据,然后执行操作,之后想刷新一下网页,我点的是浏览器上的刷新,居然程序后台重新执行了一次操作,
浏览器的“刷新”就是重新执行操作,这是所有浏览器的共同功能,你真的不知道么?[/quote]我真的不知道,如果不是客户那么操作,我也不会知道
pravity 2013-11-16
  • 打赏
  • 举报
回复
或者你再研究一下gridview的属性,看有没有开关量可以屏掉“刷新页面即执行上步操作”的功能。
pravity 2013-11-16
  • 打赏
  • 举报
回复
不是浏览器变态,是asp.net控件有点二。 对gridview不了解,因为我虽然用asp.net编程,但基本不用Bug公司提供的控件。 看你的问题,应该是在你进行执行操作之后,.net服务器在你执行后的页面中留下了执行操作信息,所以在刷新页面后又执行了上步的操作。 建议在你进行执行操作后,“重新进入”相关页面,而非让控件回送数据,这样就能应该能够避免服务器在相关页面上留下不必要的执行信息。 或者屏掉页面F5键刷新功能,自己写个刷新按键,让页面“重新进入”。
  • 打赏
  • 举报
回复
引用 楼主 wyj116 的回复:
浏览器怎么会这么变态呢 我做个功能,选中gridview上的一组数据,然后执行操作,之后想刷新一下网页,我点的是浏览器上的刷新,居然程序后台重新执行了一次操作,
浏览器的“刷新”就是重新执行操作,这是所有浏览器的共同功能,你真的不知道么?
leujunbao 2013-11-15
  • 打赏
  • 举报
回复
表单重复提交是web中常见的问题,百度搜索下有很多解决的方法,或者你的实现方式改下
Jelena景 2013-11-15
  • 打赏
  • 举报
回复
引用 12 楼 splendid_java 的回复:
一个订单号只关联唯一的运单号吧?如果是,那可能就是数据缓存造成的。
不是缓存,是浏览器刷新,导致的后台重复提交
ZHOU西口 2013-11-15
  • 打赏
  • 举报
回复
一个订单号只关联唯一的运单号吧?如果是,那可能就是数据缓存造成的。
Jelena景 2013-11-15
  • 打赏
  • 举报
回复
引用 8 楼 tcmakebest 的回复:
执行操作后应该马上刷新一下 gridview 的,设计不合理啊。 浏览器的刷新本来就是这样的,楼主还不习惯吧,应该少用或不用那个按钮
执行后是直接就刷新了列表可是客户的操作千奇百怪,,木法
非凡棒棒糖 2013-11-15
  • 打赏
  • 举报
回复
清空缓存试试呢
白鸽 2013-11-15
  • 打赏
  • 举报
回复
用异步刷新不就行了,或者套个Updatepanel为啥要刷新下浏览器干嘛、。。
tcmakebest 2013-11-15
  • 打赏
  • 举报
回复
执行操作后应该马上刷新一下 gridview 的,设计不合理啊。 浏览器的刷新本来就是这样的,楼主还不习惯吧,应该少用或不用那个按钮
Jelena景 2013-11-15
  • 打赏
  • 举报
回复
引用 6 楼 ghypnus 的回复:

        protected void Page_Load(object sender, EventArgs e)
        {
            //加一个IsPostBack
            if (!IsPostBack)
            {
              //改变订单号,绑定gridview  

            }
        }
没错,我已经加过了,我感觉这可能是浏览器的问题,代码我查过了,是没有问题的
  • 打赏
  • 举报
回复

        protected void Page_Load(object sender, EventArgs e)
        {
            //加一个IsPostBack
            if (!IsPostBack)
            {
              //改变订单号,绑定gridview  

            }
        }
  • 打赏
  • 举报
回复
 //加一个IsPostBack
            if (!IsPostBack)
            {
              //改变订单号,绑定gridview  

            }
7年 2013-11-15
  • 打赏
  • 举报
回复
刷新页面当然重新执行后台代码啊,操作完不想刷新就重新绑定数据。
加载更多回复(3)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧