private void lbnDelete_Click(object sender, System.EventArgs e)
{
......
}这样一个事件处理程序,为什么在每次刷新页面时,都会执行一次,有什么方法让它在点按钮时才执行,刷新页面不执行?

解决方案 »

  1.   

    private void lbnDelete_Click(object sender, System.EventArgs e)
    {
    ......
    Response.Redirect("本页的url");
    }
      

  2.   

    当你点击按钮后,事实上执行的是表单提交,这样,当你提交完成后再刷新其实还是表单提交,所以会出现这样的问题了。解决这个问题的方案是用Redirect来解决:对页面的初次调用的时候,检测一个SESSION标志,看这个页面是否第一次调用,如果是则执行第一次调用的处理,否则使用SESSION中的数据。当提交到SERVER后,进行相关处理把处理结果放到SESSION中,然后发出REDIRECT命令到当前页面。这个解决方案可以用页面名称作为是否第一次访问的标志,如果不同则不是,但限制在只有一个IE窗口打开的情况下有效,否则,后果难以预料。