婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Asp.Net防止刷新重復(fù)提交數(shù)據(jù)的辦法

Asp.Net防止刷新重復(fù)提交數(shù)據(jù)的辦法

熱門標簽:蘋果手機凱立德地圖標注 合肥電銷外呼系統(tǒng)哪家公司做的好 百度ai地圖標注 電話機器人軟件銷售工作 南陽外呼系統(tǒng)定制化 申請400電話手續(xù) 同安公安400電話怎么申請流程 預(yù)測式外呼系統(tǒng)使用說明 玉林市機器人外呼系統(tǒng)哪家好

在網(wǎng)上搜 一下,可以找到很多關(guān)于這方面的資料,其中有一篇是來自MSDN上的一種解決方法: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/BedrockASPNET.asp 它是通過重新定義 System.Web.UI.Page 類來實現(xiàn)加載頁面時,是“刷新”、“后退”請求,還是正常請求,其他的頁面則繼承了自定義的這 個Page類。感覺他這個方法比較獨特,有例子可以下載,有興趣的可以研究研究。

網(wǎng)上最多的解決此類問題的方法就是不保存緩存,即提交后表單上的數(shù)據(jù)不會被瀏覽器的緩存保存,如果此時再遇到刷新或者后退請求時, 就會顯示“網(wǎng)頁已過期”,數(shù)據(jù)也就不會重復(fù)提交了,這就起到了阻止刷新重復(fù)提交的效果。

下面以簡單的提交一篇帖子為例,介紹禁用緩存防止刷新重復(fù)提交的方法,表單數(shù)據(jù)包括“標題”和“正文”兩個部分。

以下是該方法的代碼(post.aspx):

復(fù)制代碼 代碼如下:

//頁面加載

protected void Page_Load(object sender, EventArgs e)

{

   //可以在頁面加載時設(shè)置頁面的緩存為“SetNoStore()”,即無緩存

   Response.Cache.SetNoStore();

   //Session中存儲的變量“IsSubmit”是標記是否提交成功的

   if ((bool)Session["IsSubmit"])

   {

     //如果表單數(shù)據(jù)提交成功,就設(shè)“Session["IsSubmit"]”為false

     Session["IsSubmit"] = false;

     //顯示提交成功信息

     ShowMsg.Text = " * 提交成功!";

   }

   else

     //否則的話(沒有提交,或者是頁面刷新),不顯示任何信息

     ShowMsg.Text = "";

}

//提交按鈕(btnOK)單擊事件

protected void btnOK_Click(object sender, EventArgs e)

{

   if (txtTitle.Text.ToString().Trim() == "")

     //ShowMsg是用來顯示提示信息的

     ShowMsg.Text = " * 標題不能為空!";

  else if (txtText.Text.ToString().Trim() == "")

     ShowMsg.Text = " * 內(nèi)容不能為空!";

  else

   {

     //這里是將數(shù)據(jù)提交到數(shù)據(jù)庫中,省略

     /*

     string sql = "insert into tab...values(...)";

     MyConn.ExecQuery(sql);

     */

     //提交成功后,設(shè)“Session["IsSubmit"]”為true

     Session["IsSubmit"] = true;

     //強制轉(zhuǎn)換頁面(不可少,否則刷新仍會重復(fù)提交,仍轉(zhuǎn)到本頁),

     通過頁面的轉(zhuǎn)換將緩存中的提交的數(shù)據(jù)都釋放了,即提交的標單數(shù)據(jù)不會被保存到緩存里,

     如果后退的話,將會出現(xiàn)該頁無法顯示

     Response.Redirect("post.aspx");

  }

}


上面這個方法非常簡單也很實用,推薦大家使用。

下面是我自己研究出來的另一種方法,該方法不同于“不保存緩存的方法”,它是讓瀏覽器保存所有頁面緩存的。該方法通過隨機碼的方式 來判斷是正常提交還是“刷新”或“后退”的。

首先(提交頁面是post.aspx)在 Session 中 增加變量 Rnd 用來存放隨機碼,同時在提交表單數(shù)據(jù)時不做處理,而是讓頁面轉(zhuǎn)到 post.aspx?r=x,這里“x”等于Session["Rnd"],這個時候在頁面加載時,通過判斷r的值和Session["Rnd"]的值是否相同,如果相同就處理提 交的數(shù)據(jù),否則即可認為是“刷新”或者是“后退”操作了,最后再次付給Session["Rnd"]一個隨機碼。

以下是該方法代碼(post.aspx):

復(fù)制代碼 代碼如下:

//獲取隨機碼

public class MyRnd

{

   public static string Rnd()

   {

     //隨機碼是由 0-9 a-z A-Z 之間的數(shù)字或字母組成的

     //下面是生成的20位隨機碼

     //0..9 A..Z a..z

     //48-57 65-90 97-122

     string rst = "";

     Random rr = new Random();

     for (int i = 0; i 20; i++)

     {

       int ir = 0;

       do

       {

         ir = rr.Next(123);

         if((ir >= 48) (ir = 57)) break;

         else if((ir >= 65) (ir = 90)) break;

         else if ((ir >= 97) (ir = 122)) break;

       }

       while (true);

       rst += ((char)ir).ToString();

       }

     return rst;

   }

}

//頁面加載

protected void Page_Load(object sender, EventArgs e)

{

   //獲取URL中請求的“r”值,如果“r”不存在則 r=""

   string r = "";

   if(Request.QueryString["r"] != null)

     r = Request.QueryString["r"].ToString().Trim();

   string t;

   //獲取 “Session” 中的 “Rnd” 值,用于和“r”比較

   t = Session["Rnd"].ToString().Trim();

   //如果“r=t”則為提交操作,即可對表單的數(shù)據(jù)進行處理

  if(r == t)

  {

     if (txtTitle.Text.ToString().Trim() == "")

       ShowMsg.Text = " * 標題不能為空!";

     else if (txtText.Text.ToString().Trim() == "")

       ShowMsg.Text = " * 內(nèi)容不能為空!";

     else      {

       //這里是將數(shù)據(jù)提交到數(shù)據(jù)庫中,省略

       /*

       string sql = "insert into tab...values(...)";

       MyConn.ExecQuery(sql);

       */

       //提交成功后清空表單數(shù)據(jù)

       txtTitle.Text = "";

       txtText.Text = "";

       //顯示提交成功信息

       ShowMsg.Text = " * 提交成功!";

     }

  }

   //否則可以認為是“刷新”或者“后退”操作

   else

   {

       txtTitle.Text = "";

       txtText.Text = "";

  }

  //最后要重新獲得“Session["Rnd"]”的值,并將“btnOK.PostBackUrl”設(shè)為“Session["Rnd"]”的值

  Session["Rnd"] = MyRnd.Rnd();

  btnOK.PostBackUrl ="post.aspx?r=" + Session["Rnd"].ToString().Trim();

}

//這里提交按鈕(btnOK)單擊事件就不需要寫任何代碼了


通過這種方法,每次加載頁面時“Session["Rnd"]”都將得到一個新的值,而在刷新或后退時就不會得到相同的“r”和“t”值,數(shù)據(jù)也就 不會被重復(fù)提交,只有通過“btnOK”來提交的操作才會得到“r==t”,數(shù)據(jù)才會被提交處理的,通過判斷隨機碼的方式來阻止刷新重復(fù)提交就 可以實現(xiàn)了。

您可能感興趣的文章:
  • ASP.NET中為GridView添加刪除提示框的方法
  • asp.net表單提交時防重復(fù)提交并執(zhí)行前臺的JS驗證
  • asp.net防止刷新時重復(fù)提交(可禁用工具條刷新按鈕)
  • asp.net 處理F5刷新頁面重復(fù)提交頁面的一個思路
  • asp.net 防止用戶通過后退按鈕重復(fù)提交表單
  • Asp.Net中避免重復(fù)提交和彈出提示框的實例代碼

標簽:海南 臺州 南昌 淄博 揚州 南京 嘉興 南京

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Asp.Net防止刷新重復(fù)提交數(shù)據(jù)的辦法》,本文關(guān)鍵詞  Asp.Net,防止,刷新,重復(fù),提交,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Asp.Net防止刷新重復(fù)提交數(shù)據(jù)的辦法》相關(guān)的同類信息!
  • 本頁收集關(guān)于Asp.Net防止刷新重復(fù)提交數(shù)據(jù)的辦法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩和的一区二区| 欧美视频日韩视频在线观看| 国产成人午夜精品5599| 51精品秘密在线观看| 亚洲国产视频网站| 精品国产乱码久久久久久影片| 久久99精品国产.久久久久久| 久久视频一区二区| 欧美视频日韩视频| 99久久免费视频.com| 国产一区二区三区观看| 亚洲欧美色图小说| 亚洲欧美日本韩国| 国产精品福利影院| 久久亚洲影视婷婷| 久久理论电影网| 欧美视频在线观看一区| av一区二区不卡| 成人午夜在线视频| 成人午夜电影网站| 成人午夜精品一区二区三区| 国产高清精品网站| 蜜臀国产一区二区三区在线播放| 成人av午夜影院| 成人免费视频网站在线观看| 国产一区二区三区四区在线观看| 一区二区三区四区不卡视频| 亚洲国产综合在线| 另类小说视频一区二区| 91福利在线免费观看| 国产精品538一区二区在线| 国内不卡的二区三区中文字幕| 一区二区三区四区在线免费观看| 亚洲欧洲综合另类| 久久久久国产精品麻豆| 欧美一二三四区在线| 久久嫩草精品久久久精品一| 亚洲第一av色| 久久成人免费网站| 91丨porny丨蝌蚪视频| 欧美又粗又大又爽| 亚洲综合久久久| 久久久91精品国产一区二区三区| 久久这里只有精品首页| 国产精品综合视频| 色94色欧美sute亚洲线路二 | 最新国产精品久久精品| 欧美videos中文字幕| 在线这里只有精品| 麻豆精品蜜桃视频网站| 国产盗摄视频一区二区三区| 亚洲一区二区三区四区在线免费观看| 精品久久一二三区| 久久久亚洲精品石原莉奈| 精品少妇一区二区三区视频免付费 | 狠狠色狠狠色合久久伊人| 一本一道久久a久久精品 | 亚洲视频免费在线观看| 欧美午夜精品久久久久久超碰| 欧美精品一区二区三| 日本不卡一二三| 欧美日韩黄视频| 一区精品在线播放| 亚洲图片一区二区| 中文字幕欧美日本乱码一线二线| 一区二区免费在线| 91黄视频在线| 亚洲激情自拍偷拍| 亚洲综合小说图片| 大胆亚洲人体视频| 中日韩免费视频中文字幕| 国产白丝网站精品污在线入口| 亚洲一区在线电影| 波多野结衣中文一区| 91精品国产欧美日韩| 亚洲高清免费观看 | 91亚洲精品久久久蜜桃| 中文字幕亚洲区| 精品欧美一区二区久久| 日日欢夜夜爽一区| 欧美电影免费观看高清完整版在 | 欧美在线免费播放| 日韩av中文字幕一区二区三区| 欧美日韩一区中文字幕| 日日摸夜夜添夜夜添精品视频 | 久久精品国产亚洲高清剧情介绍 | 懂色av一区二区三区免费看| 国产精品乱人伦一区二区| 亚洲综合网站在线观看| 91精品久久久久久久久99蜜臂| 国产一区二区三区av电影| 亚洲欧美偷拍卡通变态| 久久婷婷一区二区三区| 成人免费av资源| 欧美疯狂性受xxxxx喷水图片| 韩国视频一区二区| 精品伊人久久久久7777人| 久久久久久久久久久99999| 五月天亚洲精品| 国产午夜精品一区二区三区视频| 欧美日韩高清影院| 精品在线观看视频| 一区二区三区色| 亚洲无线码一区二区三区| 成人午夜av影视| 国产成人免费视频网站| 国产美女在线精品| 91色在线porny| 欧美另类z0zxhd电影| 制服丝袜在线91| 日韩精品一区二区在线| 中文字幕一区在线观看| 最好看的中文字幕久久| 国产精品视频你懂的| 色综合久久综合网97色综合| 91麻豆国产精品久久| 波多野结衣欧美| 欧美人妇做爰xxxⅹ性高电影| 精品久久国产字幕高潮| 欧美在线你懂得| 激情欧美日韩一区二区| 国产在线看一区| 成人99免费视频| 9191国产精品| 欧美日韩精品一区视频| 精品久久久久久久久久久久久久久久久 | 99久久精品99国产精品| 欧美在线视频你懂得| 国产亚洲制服色| 久久综合中文字幕| 自拍偷拍亚洲激情| 日韩影视精彩在线| 国产成人鲁色资源国产91色综| 日韩激情一区二区| 欧美激情一区二区三区| 亚洲成年人影院| 欧美性大战久久| 亚洲一区中文在线| 在线观看区一区二| 亚洲综合在线第一页| 在线一区二区视频| 欧美三级电影网| 国产精品久久久一本精品| 亚洲大片在线观看| 日本午夜精品视频在线观看| 91久久精品网| 亚洲国产日日夜夜| 欧美一级欧美一级在线播放| 亚洲色图色小说| 99久久久免费精品国产一区二区| 欧美亚洲高清一区| 国产精品情趣视频| 精品无人码麻豆乱码1区2区 | 久久久国产精品午夜一区ai换脸| 韩国精品主播一区二区在线观看 | 91亚洲精品久久久蜜桃| 国产精品久久久久久久久搜平片| 成人免费观看男女羞羞视频| 一区二区成人在线视频| 亚洲欧洲99久久| 日韩精品一区国产麻豆| 日本韩国欧美国产| 麻豆成人91精品二区三区| 国产午夜精品久久久久久免费视| 欧美日韩精品是欧美日韩精品| 成人午夜激情视频| 国产乱理伦片在线观看夜一区| 日本亚洲天堂网| 亚洲va韩国va欧美va精品 | 欧美一区二区三区白人| 国产成人av资源| 国产精品18久久久久久vr| 狠狠色丁香九九婷婷综合五月| 亚洲mv在线观看| 日韩国产一区二| 亚洲一区二区三区不卡国产欧美| 亚洲欧洲另类国产综合| 一区二区三区在线视频观看| 亚洲成人www| 国产老女人精品毛片久久| 成人在线视频首页| www.av精品| 欧美日韩三级一区二区| 日韩美女视频在线| 国产清纯在线一区二区www| 中文字幕一区二区三区不卡在线| 日韩美女啊v在线免费观看| 日韩和欧美一区二区三区| 高清不卡一区二区在线| 欧美视频在线一区二区三区| 日韩视频免费观看高清完整版在线观看| 欧美成人高清电影在线| 亚洲欧洲色图综合| 蜜臀va亚洲va欧美va天堂| av一区二区三区四区| 久久在线免费观看| 午夜视频一区二区| 一本色道久久加勒比精品| 国产日韩在线不卡| 美女诱惑一区二区|