![](/img/trans.png)
[英]How to stop page refresh on button click but my button click event should fire
[英]How to stop from refiring an event on a page refresh
當用戶單擊“提交”按鈕時,我將表單數據插入數據庫中。 問題在於,在原始提交后,如果用戶刷新頁面,則表單數據將被重新提交,並因此第二次插入數據庫。 我怎樣才能解決這個問題?
嘗試(在事件處理功能中)詢問發送者。
在處理您的請求后,從服務器端提交按鈕事件提供Response.Redirect(“ yourpage”)
使用適當的機制來檢測重復發布。 我更喜歡使用以下內容來檢測基礎請求是否已加倍發布。
private bool refreshState;
private bool isDoublePosted;
protected bool IsInDoublePosting
{
get
{
return isDoublePosted;
}
}
protected override void LoadViewState(object savedState)
{
object[] states = (object[])savedState;
base.LoadViewState(states[0]);
refreshState = Convert.ToBoolean(states[1]);
isDoublePosted = (refreshState == Convert.ToBoolean(Session["IsInDoublePosting"]));
}
protected override object SaveViewState()
{
Session["IsInDoublePosting"] = refreshState;
object[] states = new object[3];
states[0] = base.SaveViewState();
states[1] = !refreshState;
return states;
}
在您的按鈕中單擊事件處理程序:
if (!this.IsInDoublePosting)
{
// your code goes here
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.