在我的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