在我的ascx控件我有一個按鈕,其中我打電話事件處理程序,並從該事件處理程序我打電話這是一個主持人如何停止自動按鈕點擊F5和頁面刷新?
ASCX頁
public event EventHandler<EventArgs> Add;
protected void btnAdd_Click(object sender, EventArgs e)
{
if (Add != null)
Add(sender, e);
}
上的方法主持人
AddListView.Add += delegate(object sender, EventArgs e)//AddListView is a Interface
{
Add();
};
當我在btnAdd單擊其做工精細,並記錄獲取添加,但是當我刷新瀏覽器頁面,按F5並再次點擊鼠標btnAdd越來越火。我試圖用
// Page refresh F5 btn press
protected override void LoadViewState(object savedState)
{
object[] AllStates = (object[])savedState;
base.LoadViewState(AllStates[0]);
_refreshState = bool.Parse(AllStates[1].ToString());
_isRefresh = _refreshState == bool.Parse(Session["__ISREFRESH"].ToString());
}
// Page refresh F5 btn press
protected override object SaveViewState()
{
Session["__ISREFRESH"] = _refreshState;
object[] AllStates = new object[2];
AllStates[0] = base.SaveViewState();
AllStates[1] = !(_refreshState);
return AllStates;
}
那麼它工作正常,但在刷新後,我無法再次點擊btnAdd,對於點擊btnAdd,我再次做刷新那麼它的做工精細..
我在其他控件上調用此控件,並且我有一個Datalist在點擊項目頁面時會再次回發。
如何停止自動按鈕點擊F5或頁面刷新,而無需點擊btnAdd。
請別人幫我..
我認爲在插入記錄後最好重定向到同一頁面並避免所有這些。 – Aristos 2012-02-15 13:12:44