页面A有一个txtSearch。和一个btnQSearch。作用如下:
    protected void btnSearch_Click(object sender, EventArgs e)
    {
        //搜索
        string SearchStr = "select * from tb_Files where ";
        SearchStr += "Subject like '%" + this.txtSearch.Text.Trim() + "%'";
        SearchStr += " or fileName like '%" + this.txtSearch.Text.Trim() + "%'";        Session["QSearch"] = SearchStr;        Response.Redirect("Search.aspx");
    }
此时,如果我刷新A页,btnSearch事件就会再次提交。如何阻止它再次提交啊。?

解决方案 »

  1.   

    什么意思?你点击按钮不是转到别的页了吗?Response.Redirect("Search.aspx");
      

  2.   

    如果当前页就是Search.aspx  那当提交之后会自动刷新的  因为你的btn就是服务器控件
      

  3.   

    在onclick(方法名 return false).还是没明白要表达的意思。按钮在A页面里,你刷新A页面也不会激发onclick事件吧?怎么会重复提交呢?
      

  4.   

    http://blog.csdn.net/loveheronly/archive/2010/05/24/5618957.aspx
    这里有一些js的方法,希望对你有帮助
      

  5.   

    return false可以不刷新但是不太懂lz说的一刷新又会出发click的意思这个click是自动触发的吗
      

  6.   

        在page_load 里面加 个 if(!ispostback){}  
      

  7.   

    用session记录 次数,和 前台页面的隐藏值 进行对比。
      

  8.   

    你按钮后不是已经Response.Redirect("Search.aspx");了吗?
    你可以在A页面的按钮后Response.Redirect("a.aspx"),这样就行了
      

  9.   

    不好意思。是我搞错了。
    这个 Response.Redirect("Search.aspx");
    应改为 Response.Write("<script>window.open('Search.aspx')</script>");
      

  10.   

    这样的情况很难解决啊,http://www.51softexam.com 
      

  11.   

    我也感觉很难,因为csdn.net也有这样的问题。
      

  12.   

    貌似csdn上的都不知道这个?
    我去发个博,贴贴代码
      

  13.   

    http://blog.csdn.net/Airch/archive/2011/04/28/6370010.aspx
      

  14.   

    这个方法可以,可是还会出现对话框:“若要再次显示该页,Web要重新发送您以前提交的信息!”。
      

  15.   

    这个。有人说是我浏览器设置的问题。我也不清楚,在csdn.net我也能发现这个问题.
      

  16.   

    response.write("<script>location.htrf='page.aspx'</script>");
      

  17.   

    有时候服务器控件会出现这样的情况了,你用Ajax试试了.