中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

ASP.NET中防止頁面刷新造成表單重復提交執行兩次操作
來源:易賢網 閱讀:1686 次 日期:2016-08-10 15:09:42
溫馨提示:易賢網小編為您整理了“ASP.NET中防止頁面刷新造成表單重復提交執行兩次操作”,方便廣大網友查閱!

之前看過別人防刷新的方法,是讓頁面刷新或返回上一步讓頁面過期,這里介紹一種另類的方法,使用Session來處理。

實現原理:

由于刷新提交表單,實際上提交的就是上一次正常提交的表單,所以我們只要做一個標志,判斷出是新表單還是上一次的舊表單就可以分辨出是否進行了重復提交操作。

實現方法:

在頁面上放置一個Hidden域,當頁面第一次載入的時候,在Session里面保存一個標志,同時,把這個標志保存到頁面上的Hidden里面。在提交表單時,判斷表單中提交上來的Hidden和Session中的標志是否一致,就可以知道是正常的提交表單,還是刷新頁面導致的重復提交。需要注意的是,在每次提交表單的處理之后,要更新Session里面的標志。

代碼實例:代碼很少,首先是頁面上。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Test.Web.Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head id="Head1" runat="server">

  <title></title>

</head>

<body>

  <form id="form1" runat="server">

  <div>

    <input type="text" id="tbxName" runat="server" />

    <input type="text" id="tbxPass" value="" runat="server" />

    <asp:Button ID="btnSubmit" runat="server" OnClick="Button1_Click" Text="Button" />

    <asp:Label ID="lblMessage" runat="server" Text=""></asp:Label>

    <input id="hiddenTest" type="hidden" value="<%= GetToken() %>" name="hiddenTestN" />

  </div>

  </form>

</body>

</html>

需要注意的地方:

1 GetToken()函數是為了獲得 Session里面保存的標志。

2 Hidden使用了非服務器控件,這是因為我使用服務器控件,并在后臺直接獲取Session的標志并賦值給這個Hidden的時候,刷新提交到服務器的 表單中的Hidden的值也發生了改變,猜想是服務器控件的話,表單里面的值是保持同步的,當然,也可能是我用的方法不對,嘎嘎。

下面是后臺代碼:

using System;

using System.Data;

using System.Configuration;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Security.Cryptography;

using System.Text;

namespace Test.Web

{

  public partial class Default : System.Web.UI.Page

  {

    protected void Page_Load(object sender, EventArgs e)

    {

      //第一次載入的時候,生成一個初始的標志

      if (null == Session["Token"])

      {

        SetToken();

      }

    }

    protected void Button1_Click(object sender, EventArgs e)

    {

      if (Request.Form.Get("hiddenTestN").Equals(GetToken()))

      {

        lblMessage.ForeColor = System.Drawing.Color.Blue;

        lblMessage.Text = "正常提交表單";

        SetToken();//別忘了最后要更新Session中的標志

      }

      else

      {

        lblMessage.ForeColor = System.Drawing.Color.Red;

        lblMessage.Text = "刷新提交表單";

      }

    }

    //獲得當前Session里保存的標志

    public string GetToken()

    {

      if (null != Session["Token"])

      {

        return Session["Token"].ToString();

      }

      else

      {

        return string.Empty;

      }

    }

    //生成標志,并保存到Session

    private void SetToken()

    {

      Session.Add("Token", UserMd5(Session.SessionID + DateTime.Now.Ticks.ToString()));

    }

    //這個函數純粹是為了讓標志稍微短點兒,一堆亂碼還特有神秘感,另外,這個UserMd5函數是網上找來的現成兒的

    protected string UserMd5(string str1)

    {

      string cl1 = str1;

      string pwd = "";

      MD5 md5 = MD5.Create();

      // 加密后是一個字節類型的數組

      byte[] s = md5.ComputeHash(Encoding.Unicode.GetBytes(cl1));

      // 通過使用循環,將字節類型的數組轉換為字符串,此字符串 是常規字符格式化所得

      for (int i = 0; i < s.Length; i++)

      {

        // 將得到的字符串使用十六進制類型格式。格式后的字符是 小寫的字母,如果使用大寫(X)則格式后的字符是大寫字符

        pwd = pwd + s[i].ToString("X");

      }

      return pwd;

    }

  }

}

需要注意的地方:

1 在頁面第一次載入的時候要生成標志,以后就不用了。

2 在表單處理的函數的最后,記得要更新標志。

3 標志我選用了當前SessionID加上當前時間毫秒值,這樣基本可以避免標志重復,之后進行了一次MD5,純粹為了讓標志短點兒,當然有一點點安全的意 思,哈哈。

所有代碼就是這些,很簡單,不知道是因為太簡單還是大家有更好的方法,我在網上沒有找到類似的代碼,所以寫下來和大家分享,如果有更好的方法,希望可以告訴我,因為好久不做Web開發了,怕是有很多新技術都不會了。

更多信息請查看網絡編程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
亚洲国产91| 欧美大片18| 欧美精品一区二区精品网| 国产一区二区三区在线观看视频 | 久久久九九九九| 国产精品久久久久久久久久免费| 99精品欧美一区二区三区| 欧美久久成人| 久久精品国产久精国产爱| 欧美激情中文字幕一区二区| 亚洲一区二区三区四区五区黄| 国产精品一二三四| 欧美大片在线看免费观看| 亚洲色图制服丝袜| 亚洲精品在线一区二区| 国产麻豆成人精品| 欧美色偷偷大香| 欧美成年人网| 欧美电影在线| 亚洲全部视频| 亚洲精品黄色| 亚洲黄色视屏| 亚洲欧洲日本国产| 亚洲国产高清一区| 亚洲国产成人久久综合一区| 精品白丝av| 禁久久精品乱码| 国产精品色婷婷| 欧美jizz19hd性欧美| 免费成人网www| 欧美日韩专区| 欧美激情一区| 欧美精品日韩| 国产精品国产三级国产a| 欧美日韩在线三级| 欧美成人免费播放| 欧美视频三区在线播放| 国产精品vvv| 国内精品免费在线观看| 亚洲第一页在线| 99精品国产在热久久下载| 在线视频亚洲| 美女黄色成人网| 国产精品一区久久久| 在线看片第一页欧美| 99精品免费网| 欧美成人免费全部观看天天性色| 欧美国产日韩精品| 国产一区日韩一区| 亚洲一区二区三区精品在线观看 | 欧美日韩美女在线观看| 久久免费黄色| 免费在线视频一区| 国产精品免费电影| 国产香蕉97碰碰久久人人| 激情六月综合| 精品成人在线视频| 夜夜嗨av一区二区三区四区 | 欧美精品一区二区蜜臀亚洲| 欧美成人69| 国产香蕉久久精品综合网| 亚洲激情在线视频| 久久久久国内| 国产精品蜜臀在线观看| 亚洲精品国产精品乱码不99| 亚洲欧美日韩精品久久久久| 老巨人导航500精品| 欧美午夜在线视频| 亚洲国产高清aⅴ视频| 亚洲在线视频| 欧美三级中文字幕在线观看| 欧美精品激情blacked18| 国产欧美日韩91| 亚洲性感美女99在线| 欧美精品在线视频| 精品成人国产| 久久精品理论片| 国产九九视频一区二区三区| 亚洲一区二区三区免费在线观看| 欧美日韩亚洲一区在线观看| 亚洲国产精品t66y| 欧美激情bt| 在线免费高清一区二区三区| 久久精品成人| 韩国免费一区| 欧美88av| 一区二区三区不卡视频在线观看| 欧美日本中文| 欧美一区三区二区在线观看| 国产一区三区三区| 欧美视频在线看| 亚洲一区二区三区精品动漫| 欧美午夜性色大片在线观看| 在线欧美影院| 欧美亚洲不卡| 久久人91精品久久久久久不卡| 亚洲国产视频一区| 亚洲电影在线| 国产精品毛片| 欧美夫妇交换俱乐部在线观看| 亚洲欧美一区二区原创| 好看的日韩av电影| 国产精品日韩精品欧美精品| 久久香蕉国产线看观看av| 亚洲清纯自拍| 国内成人在线| 久久综合中文字幕| 欧美一区二区三区另类| 亚洲伊人观看| 日韩视频一区二区在线观看| 国产亚洲免费的视频看| 国产精品国色综合久久| 欧美日韩国产一区精品一区| 老妇喷水一区二区三区| 久久综合导航| 国内精品**久久毛片app| 黄色一区二区三区| 好看的日韩视频| 一区二区三区无毛| 亚洲激情啪啪| 亚洲视频一区在线| 亚洲欧美在线免费| 久久av最新网址| 欧美成人免费大片| 欧美午夜无遮挡| 亚洲伦理精品| 亚洲精品欧美日韩专区| 99视频精品免费观看| 99re在线精品| 久久久国产精品一区| 午夜精品久久久久久久久| 久久在线免费观看视频| 蜜臀av一级做a爰片久久| 欧美日韩1区2区3区| 国产精品五月天| 韩国精品在线观看| 99国产欧美久久久精品| 亚洲视频免费在线| 久久午夜影视| 亚洲激情中文1区| 午夜精品影院| 欧美日韩视频第一区| 欧美性大战久久久久久久| 激情久久综合| 欧美亚洲视频在线看网址| 欧美日本在线视频| 在线电影一区| 久久夜色精品| 黄色成人免费网站| 欧美一区二区三区电影在线观看| 欧美日韩一级黄| 日韩小视频在线观看| 欧美国产精品人人做人人爱| 日韩亚洲欧美一区| 亚洲福利小视频| 国产一区二区三区在线观看网站| 亚洲精品欧美专区| 国产麻豆视频精品| 欧美成人一区二免费视频软件| 欧美成人黑人xx视频免费观看| 国产精品麻豆成人av电影艾秋| 亚洲美女免费视频| 欧美日一区二区在线观看| 激情成人av在线| 免费观看在线综合色| 亚洲精品九九| 国产精品av免费在线观看| 亚洲国产精品美女| 欧美激情va永久在线播放| 一区二区三区免费看| 国产精品亚洲不卡a| 亚洲欧美精品在线观看| 亚洲国产欧美久久| 黄色亚洲在线| 国产视频在线一区二区 | 欧美久久一区| 性欧美大战久久久久久久久| 亚洲黄色天堂| 国产午夜久久| 国产精品久久久一区二区| 久久久久久网| 午夜精品三级视频福利| 亚洲蜜桃精久久久久久久| 好男人免费精品视频| 国产日韩欧美精品在线| 国产精品99一区| 久久露脸国产精品| 欧美韩国日本综合| 亚洲精品免费一二三区| 亚洲国产精品精华液网站| 最新热久久免费视频| 在线亚洲免费| 久久精品成人欧美大片古装| 久久久久综合一区二区三区| 久久精品视频免费播放| 久久中文字幕一区二区三区| 欧美裸体一区二区三区| 国产一区再线| 亚洲欧美制服另类日韩| 欧美黄色视屏|