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

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

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

實現(xiàn)原理:

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

實現(xiàn)方法:

在頁面上放置一個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()函數(shù)是為了獲得 Session里面保存的標志。

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

下面是后臺代碼:

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()));

    }

    //這個函數(shù)純粹是為了讓標志稍微短點兒,一堆亂碼還特有神秘感,另外,這個UserMd5函數(shù)是網(wǎng)上找來的現(xiàn)成兒的

    protected string UserMd5(string str1)

    {

      string cl1 = str1;

      string pwd = "";

      MD5 md5 = MD5.Create();

      // 加密后是一個字節(jié)類型的數(shù)組

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

      // 通過使用循環(huán),將字節(jié)類型的數(shù)組轉(zhuǎn)換為字符串,此字符串 是常規(guī)字符格式化所得

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

      {

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

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

      }

      return pwd;

    }

  }

}

需要注意的地方:

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

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

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

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

更多信息請查看網(wǎng)絡編程

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

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
亚洲国产精品va在线看黑人| 欧美一区二区三区在| 国产在线高清精品| 亚洲影视在线| 国产手机视频精品| 久久国产精品久久久久久| 狠狠爱www人成狠狠爱综合网| 久久久久国产精品一区| 亚洲国产天堂久久综合网| 欧美另类视频在线| 欧美一级在线视频| 亚洲激情在线| 国产精品五月天| 欧美不卡一卡二卡免费版| 一级日韩一区在线观看| 激情成人亚洲| 国产精品久久久亚洲一区| 久久性色av| 午夜宅男久久久| 9l视频自拍蝌蚪9l视频成人| 国产亚洲一区二区三区在线播放| 午夜电影亚洲| 91久久精品国产91性色tv| 韩国av一区二区三区| 国产精品xxxav免费视频| 亚洲你懂的在线视频| 久久午夜羞羞影院免费观看| 久久精品在线播放| 亚洲国产精品成人| 在线观看亚洲一区| 国产综合亚洲精品一区二| 国产精品一区免费视频| 国产精品美女www爽爽爽| 精品1区2区3区4区| 亚洲美女免费精品视频在线观看| 国产日韩视频一区二区三区| 国产精品美女一区二区在线观看| 欧美三日本三级少妇三2023 | 99亚洲视频| 韩日精品视频一区| 久久久国产精品一区二区三区| 国产欧美一区二区在线观看| 先锋a资源在线看亚洲| 欧美一区二区久久久| 香蕉尹人综合在线观看| 欧美日韩免费观看一区二区三区 | 欧美激情1区2区| 久久国产精品免费一区| 亚洲精品偷拍| 国内精品久久国产| 欧美日韩精品一区视频| 蜜臀久久久99精品久久久久久| 亚洲综合视频一区| 亚洲第一久久影院| 国产亚洲欧洲一区高清在线观看 | 欧美mv日韩mv亚洲| 久久久蜜臀国产一区二区| 国产精品久久中文| 影音先锋亚洲精品| 国产精品乱人伦一区二区| 欧美久久久久久久久| 久久av在线看| 性8sex亚洲区入口| 一本色道久久综合狠狠躁篇的优点| 激情视频一区二区| 欧美日韩中文字幕在线视频| 欧美日韩国产精品自在自线| 欧美主播一区二区三区| 久久电影一区| 欧美丰满少妇xxxbbb| 欧美精品三级在线观看| 久久久亚洲国产天美传媒修理工| 欧美在线播放视频| 久久久久99精品国产片| 久久久欧美精品sm网站| 麻豆精品传媒视频| 免播放器亚洲一区| 免费视频最近日韩| 国产精品自拍在线| 一色屋精品亚洲香蕉网站| 99国产精品久久久久老师| 宅男精品视频| 久久不见久久见免费视频1| 蜜桃精品一区二区三区| 欧美天堂亚洲电影院在线播放| 国产精品爽黄69| 伊人成人开心激情综合网| 亚洲一区二区日本| 久久理论片午夜琪琪电影网| 欧美激情一区在线| 国产亚洲精品久久久久动| 亚洲国产欧美一区二区三区久久| 亚洲一区免费看| 免费中文字幕日韩欧美| 国产精品丝袜91| 亚洲一区二区三区777| 欧美日韩精品免费观看视一区二区| 永久久久久久| 欧美在线免费一级片| 国产精品自拍小视频| 日韩视频不卡| 欧美久久一级| 亚洲精品中文字幕在线| 欧美日本网站| 最新日韩在线视频| 欧美日韩一区二区国产| 一区在线免费观看| 久热精品在线| 国产在线播放一区二区三区 | 亚洲精品乱码久久久久久蜜桃麻豆| 欧美午夜性色大片在线观看| 久久久激情视频| 伊人色综合久久天天| 免费人成精品欧美精品| 亚洲人成网站777色婷婷| 久久夜色精品国产噜噜av| 在线不卡中文字幕| 麻豆成人小视频| 一区二区三区在线高清| 老司机aⅴ在线精品导航| 亚洲精品一区二区三区四区高清| 欧美激情视频网站| 亚洲一区二区三区四区五区午夜| 欧美网站在线| 久久亚洲精品中文字幕冲田杏梨| 99国产成+人+综合+亚洲欧美| 国产精品乱人伦中文| 久久精品国产综合| 亚洲综合清纯丝袜自拍| 在线观看免费视频综合| 国产精品一区二区三区观看| 久久精品一区四区| 亚洲欧美中文另类| 亚洲精品日产精品乱码不卡| 黄色成人片子| 国产日产欧产精品推荐色| 欧美电影在线观看| 欧美丰满高潮xxxx喷水动漫| 久久精品99国产精品日本| 亚洲一区日韩在线| 亚洲日本乱码在线观看| 在线高清一区| 国产日韩精品视频一区二区三区| 欧美午夜国产| 欧美色一级片| 国产精品电影观看| 国产欧美日韩免费| 国产亚洲一区二区三区在线播放| 国产一区二区成人| 国产日韩专区| 红桃视频一区| 99riav久久精品riav| a4yy欧美一区二区三区| 亚洲视频自拍偷拍| 亚洲精品一二三区| 亚洲一区二区在线免费观看| 欧美一区三区三区高中清蜜桃| 午夜国产精品视频| 久久国产视频网| 欧美韩国日本一区| 国产精品日韩专区| 国产揄拍国内精品对白| 日韩一级不卡| 久久久久综合网| 欧美日韩视频| 在线观看视频亚洲| 99视频精品全国免费| 老鸭窝91久久精品色噜噜导演| 欧美高清视频| 欧美三级网址| 亚洲三级电影全部在线观看高清 | 欧美激情一区二区三区全黄 | 久久久国产一区二区三区| 欧美私人网站| 一区二区三区国产精品| 久久久久成人精品| 激情欧美一区二区| 嫩草国产精品入口| 国产精品一区二区三区四区五区| 亚洲国产精品久久久久秋霞蜜臀 | 国产精品人成在线观看免费 | 在线电影一区| 欧美一区二区在线播放| 久久久久九九九九| 国产亚洲成年网址在线观看| 久久久国产一区二区三区| 亚洲国产影院| 国产精品成人播放| 亚洲福利在线观看| 美女脱光内衣内裤视频久久影院| 国产午夜亚洲精品羞羞网站| 久久综合九色综合网站| 亚洲精品美女| 欧美日韩国产一区二区三区地区 | 国产一区观看| 欧美一区深夜视频| 欧美午夜欧美| 亚洲免费一级电影| 国产精品videossex久久发布| 一区二区三区国产在线|