在一个ASPX页面中,我单击按钮向数据库插入一条记录后,如果我再次使用IE的刷新功能,页面会不断的向数据库插入同一记录,那位高手知道那个属性可以避免这种情况?

解决方案 »

  1.   

    当你执行添加后的代码

    Response.Redirect(Request.RawUrl);
      

  2.   

    没有属性,只能自己控制,比如1、在页面上加一个隐藏文本筐 <input type="hidden" id="h1" runat="server" value="flag">
    2、在提交之后设定h1.value="";
    3、如果发现提交时这个h1.vlaue!="flag"说明是已经提交过了
      

  3.   

    这个问题我也很关心,我也在本版问过,但始终未能解决,如果lz的页面没有用到分页,就用:
    Response.Write("<script>window.location.href=window.location.href;</script>");
    试试看吧。
      

  4.   

    将按钮的 EnableViewState属性设为false即可
      

  5.   

    将按钮的 EnableViewState属性设为false即可
    ---------------------------------------------------------------------
    我试过了,好象没有效果!空欢喜。
      

  6.   

    该不会是没有写if(!IsPostBack)吧
      

  7.   

    你进行插入操作的话在PageLoad? flamelp(翔天) ( ) 信誉:100  2006-07-19 11:00:00  得分: 0  
     
       该不会是没有写if(!IsPostBack)吧
      
     
      

  8.   

    要写if(!IsPostBack)
    还是重新用Bind()好点
      

  9.   

    要麽在插入操作的時候檢測是否是重復資料.要麽在插入操作完成後重新導向.
    Response.Write("<script>window.location.href=window.location.href;</script>");
    建議在插入操作的時候檢測資料.
      

  10.   

    window.location.reload(true)是这个效果不?
      

  11.   

    可以用Response.Redirect来进行重新定向,或者重新绑定一下数据
      

  12.   

    微软的解决方案
    http://www.microsoft.com/china/msdn/library/webservices/asp.net/BedrockAspNet.mspx?mfr=true给分
      

  13.   

    要写if(!IsPostBack)
    还是重新用Bind()好点
    ----------------------------------
    这样做没用 我也碰到过这问题,
    现在项目没结束 暂时没管这个问题  
    我是在分页的情况下插入数据的
    插入后肯定是要重新绑定的,否则页面上是看不到你刚刚插入的新纪录的