zoukankan      html  css  js  c++  java
  • ASP.Net防止刷新自动触发事件的解决方案


    使用asp.net,在刷新页面的时候会自动触发服务器端的事件。举个简单的例子,如:一个注册页面,我们填写完注册信息之后,如果按F5刷新之后,会自动触发到Button事件上,这样就造成了又注册了一次的麻烦。

    我先前的解决方案:用关键字查询,如有相同,则提示已有此用户。

    但是这种方案不能在没有表识的情况下使用,他会重新提交。鉴于此,我寻找了一种新的解决方案,很庆幸,在朋友的提点下,迸发了这样的解决方案,肯定有更好的解决方案,不吝赐教。

    解决思路:刷新时,捕捉KeyPress,让他触发其他无用的事件。

    1、捕捉F5事件的JavaScript
    window.document.onkeydown = KeyStroke;

    function KeyStroke()
    {
     var key = event.keyCode;
     
     event.srcElement.releaseCapture();
     if(key == 116)
     {
      document.getElementById("Button1").click();
      event.keyCode=0;
      event.returnValue=false;
     }
    }

    2、aspx页面放置一个Button

       <asp:Button id="Button1" style="Z-INDEX: 102; LEFT: 344px; POSITION: absolute; TOP: 408px; WIDTH: 0px;" runat="server"
        Text="Button"></asp:Button>

    3、Button事件
    private void Button1_Click(object sender, System.EventArgs e)
      {
            Response.Write( "You have pressed the key F5");
      }

    这个“舍车保帅”的方案,能解决刷新自动触发事件的解决方案这个小问题,如果谁有更好的方案,希望告诉我一声,不胜感激!

  • 相关阅读:
    centos crash debug
    go get Unknown SSL protocol error in connection to gopkg.in
    Tensorflow serving with Kubernetes
    Spring 集成 Swagger UI
    Docker Registry V2 Garbage Collection
    Docker Registry V2 with Nginx
    Zabbix磁盘性能监控
    Zabbix CPU utilization监控参数
    Windows挂载Gluster复制卷
    Redis持久化存储(三)
  • 原文地址:https://www.cnblogs.com/skylaugh/p/418010.html
Copyright © 2011-2022 走看看