欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于頁(yè)面刷新,事件重復(fù)提交的方法分享

 更新時(shí)間:2012年10月11日 23:58:17   作者:  
在處理頁(yè)面事件時(shí),我們會(huì)經(jīng)常會(huì)碰到這樣的情況:當(dāng)我們?cè)谔峤灰豁?xiàng)頁(yè)面表單時(shí),在提交成功后,當(dāng)我們?cè)噲D按F5刷新頁(yè)面時(shí),數(shù)據(jù)會(huì)再次的被重復(fù)提交
瀏覽器的刷新是指重復(fù)上一次向服務(wù)器發(fā)送的請(qǐng)求,而asp.net的服務(wù)器控件的事件都是通過(guò)postback機(jī)制向服務(wù)器發(fā)送請(qǐng)求的。所以,當(dāng)你點(diǎn)擊提交按鈕后再刷新,實(shí)際上是把提交按鈕的postback請(qǐng)求又發(fā)送了一次。而asp.net應(yīng)用服務(wù)器是無(wú)法區(qū)別這是正常點(diǎn)擊按鈕添加還是f5刷新添加(這涉及到頁(yè)面生命周期。。。),那么這樣就會(huì)導(dǎo)致在數(shù)據(jù)庫(kù)里會(huì)存在n 條一模一樣的數(shù)據(jù)。
在解決這個(gè)問(wèn)題的過(guò)程中,嘗試了一下幾種方法:

(1)在事件提交后,將其中的參數(shù)置空,使得程序在執(zhí)行過(guò)程中,因?yàn)闆](méi)有參數(shù)而不會(huì)做業(yè)務(wù)處理。這種處理方法沒(méi)有效果,因?yàn)榉?wù)器執(zhí)行的是上一次請(qǐng)求的事件,事件提交后,改變參數(shù)沒(méi)有任何意義。

(2)在事件提交后,將頁(yè)面進(jìn)行重定向到當(dāng)前頁(yè)面(Response.Redirect( "/basedata/PictureAdd.aspx" , true);)。因?yàn)槊總€(gè)頁(yè)面都具有自己的生命周期,進(jìn)行重定向后,即結(jié)束了當(dāng)前頁(yè)面操作。這種方法可行!

為什么在原Asp開(kāi)發(fā)程序中不會(huì)碰到這樣的問(wèn)題呢?我覺(jué)得是因?yàn)锳sp程序主要都是將表單提交給另外一個(gè)頁(yè)面處理,并且,這個(gè)頁(yè)面處理之后,將跳轉(zhuǎn)到另外一個(gè)提示頁(yè)面。那么在Asp程序中,只需要在回退時(shí)將頁(yè)面設(shè)置為過(guò)期那么就可以有效的避免重復(fù)提交的問(wèn)題。但是在Asp.Net中,基本上所有的操作都是基于事件操作,而事件的本質(zhì)上就是頁(yè)面自己提交給自己,并且頁(yè)面無(wú)法識(shí)別提交時(shí)正常操作還是重復(fù)刷新。

相關(guān)文章

  • windows 中 \r\n 區(qū)別于 類(lèi)unix中的\n 疑問(wèn)說(shuō)明

    windows 中 \r\n 區(qū)別于 類(lèi)unix中的\n 疑問(wèn)說(shuō)明

    windows 中 \r\n 區(qū)別于 類(lèi)unix中的\n 疑問(wèn)說(shuō)明,需要的朋友可以參考下。
    2011-07-07
  • MybatisPlus二級(jí)緩存體系探究分析

    MybatisPlus二級(jí)緩存體系探究分析

    這篇文章主要為大家介紹了MybatisPlus二級(jí)緩存體系探究分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04
  • 詳解IDEA Git Reset 選項(xiàng)說(shuō)明

    詳解IDEA Git Reset 選項(xiàng)說(shuō)明

    這篇文章主要介紹了詳解IDEA Git Reset 選項(xiàng)說(shuō)明,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 重裝win10系統(tǒng)超詳細(xì)的圖文教程(適用所有windows系統(tǒng))

    重裝win10系統(tǒng)超詳細(xì)的圖文教程(適用所有windows系統(tǒng))

    這篇文章主要介紹了重裝win10系統(tǒng)超詳細(xì)的圖文教程(適用所有windows系統(tǒng)),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • 從Git上checkout指定的文件夾至本地的代碼

    從Git上checkout指定的文件夾至本地的代碼

    這篇文章主要介紹了從Git上checkout指定的文件夾至本地的代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • 詳解RIFF和WAVE音頻文件格式

    詳解RIFF和WAVE音頻文件格式

    本文主要介紹了RIFF文件的格式和WAV音頻文件格式,為后面實(shí)現(xiàn)對(duì)WAVE文件的讀寫(xiě)打一個(gè)理論基礎(chǔ)。后面打算使用C++標(biāo)準(zhǔn)庫(kù),實(shí)現(xiàn)對(duì)WAV文件的讀寫(xiě)
    2022-01-01
  • 水晶報(bào)表 分頁(yè) 的問(wèn)題

    水晶報(bào)表 分頁(yè) 的問(wèn)題

    在論壇上經(jīng)常會(huì)看到水晶報(bào)表分頁(yè)的問(wèn)題,這個(gè)很好解決。但是自動(dòng)插入空白行的問(wèn)題卻一直沒(méi)有很好的答案,經(jīng)過(guò)研究找到一個(gè)變通的辦法來(lái)實(shí)現(xiàn)了。
    2009-04-04
  • VScode中集成Git命令詳解

    VScode中集成Git命令詳解

    本文詳細(xì)講解了VScode中集成Git命令的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • VScode修改默認(rèn)生成的HTML模板的方法

    VScode修改默認(rèn)生成的HTML模板的方法

    這篇文章主要介紹了VScode修改默認(rèn)生成的HTML模板的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • git中reset和revert區(qū)別小結(jié)

    git中reset和revert區(qū)別小結(jié)

    本文主要介紹了git中reset和revert區(qū)別小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06

最新評(píng)論