如题

解决方案 »

  1.   

    if (!IsPostBack)?rowdeleting后要刷新下数据
      

  2.   

    因为浏览器会记录你的post动作,浏览器会把一个post当做是页面状态的一次改变,并写入javascript window对象的history对象中你按F5或点击浏览器的刷新按钮,浏览器一般会提示你是否会重复提交的重复触发也没事,比如你按id删除记录,当再次触发时,如果该记录不存在了,你就别操作了
      

  3.   

    使用了if (!IsPostBack)进行了判断了,但是刷新页面还是会继续触发RowDeleting,我是自己写的数据绑定,没用sqldatasource
      

  4.   


    虽然你说的方法貌似可行,可是在实际中是这样的:我点击删除后,原来的行已经被删除了。重新提交的ID不再是原来的ID而是新的ID,这个时候就没办法来判断,是真的用户点击的删除,还是重新刷新而来的删除
      

  5.   

    if(!IsPostBack)
    {
    //删除
    }
    不是回发
      

  6.   


    如果是这样的话,确实是有问题了。想问下你的id怎么获取和传递到cs页面的?如果不考虑性能,删除后可以用Response.Redirect()方法重定向到原来的页面(这将导致浏览器的重定向,后果是速度会慢一些),这样一来,每次删除后都会重新载入新的页面,再怎么刷新也不可能提交了。
      

  7.   

    这个是我在rowdeleting 中获取主键列值的代码:
     int id = Convert.ToInt(this.GridView1.Rows[e.RowIndex].Cells[1].Text)
    不管是点击刷新,还是直接点击的删除 ,它获取的值都不会是原来的那个ID
    这个时候,就无法判断是否是真的刷新还是用户点击了删除按钮
      

  8.   

    如果不考虑性能,使用Response.Redirect()的确可以的哈