国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

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

2024-07-21 02:02:31
字體:
供稿:網(wǎng)友
瀏覽器的刷新是指重復(fù)上一次向服務(wù)器發(fā)送的請求,而asp.net的服務(wù)器控件的事件都是通過postback機制向服務(wù)器發(fā)送請求的。所以,當(dāng)你點擊提交按鈕后再刷新,實際上是把提交按鈕的postback請求又發(fā)送了一次。而asp.net應(yīng)用服務(wù)器是無法區(qū)別這是正常點擊按鈕添加還是f5刷新添加(這涉及到頁面生命周期。。。),那么這樣就會導(dǎo)致在數(shù)據(jù)庫里會存在n 條一模一樣的數(shù)據(jù)。
在解決這個問題的過程中,嘗試了一下幾種方法:

(1)在事件提交后,將其中的參數(shù)置空,使得程序在執(zhí)行過程中,因為沒有參數(shù)而不會做業(yè)務(wù)處理。這種處理方法沒有效果,因為服務(wù)器執(zhí)行的是上一次請求的事件,事件提交后,改變參數(shù)沒有任何意義。

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

為什么在原Asp開發(fā)程序中不會碰到這樣的問題呢?我覺得是因為Asp程序主要都是將表單提交給另外一個頁面處理,并且,這個頁面處理之后,將跳轉(zhuǎn)到另外一個提示頁面。那么在Asp程序中,只需要在回退時將頁面設(shè)置為過期那么就可以有效的避免重復(fù)提交的問題。但是在Asp.Net中,基本上所有的操作都是基于事件操作,而事件的本質(zhì)上就是頁面自己提交給自己,并且頁面無法識別提交時正常操作還是重復(fù)刷新。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 平和县| 怀安县| 镇远县| 衡南县| 佛学| 镇坪县| 那坡县| 镇宁| 凭祥市| 安陆市| 阳朔县| 阳山县| 江陵县| 大同市| 永靖县| 淮北市| 瓦房店市| 繁峙县| 靖州| 苍梧县| 揭东县| 石棉县| 汤原县| 韶山市| 贺州市| 泌阳县| 恩施市| 云和县| 铁力市| 桂阳县| 谷城县| 高邑县| 伊宁市| 施甸县| 齐河县| 灵台县| 彭泽县| 闽清县| 突泉县| 边坝县| 松原市|