一个页面中有一个datagrid,和一个dataset绑定,datagrid有一个按钮列,点击某行的按钮会对相应行作出相应的操作。如果在点击某个按钮后,再点后退按钮,会重复刚才的操作造成错误……
点刷新按钮也会产生错误,该如何解决啊?最好详细一点。解决了马上结分。谢谢!

解决方案 »

  1.   

    禁用缓存
    Response.Buffer = true; 
    Response.ExpiresAbsolute = DateTime.Now.AddSeconds(-1);
    Response.Expires = 0;
    Response.CacheControl = "no-cache";
      

  2.   

    是放在.aspx文件里还是.aspx.cs文件里啊,我把它放在.cs文件里的page_load里还是有问题啊
      

  3.   

    Try this:<%@ Page Language="VB" AutoEventWireup="True" %>
    <%@ Import NameSpace="System.Threading"%>
    <html>
    <head>
       <script runat="server">
          Sub Page_Load(sender As Object, e As EventArgs)
      '------------------
    Response.Write("<div id='mydiv' >")
    Response.Write("_")
    Response.Write("</div>")
    Response.Write("<script>mydiv.innerText = '';</scr" & "ipt>")
    Response.Write("<script language=javascript>;")
    Response.Write("var dots = 0;var dotmax = 10;function ShowWait()")
    Response.Write("{var output; output = '正在加载......';dots++;if(dots>=dotmax)dots=1;")
    Response.Write("for(var x = 0;x < dots;x++){output += '';}mydiv.innerText =  output;}")
    Response.Write("function StartShowWait(){mydiv.style.visibility = 'visible'; ")
    Response.Write("window.setInterval('ShowWait()',1000);}")
    Response.Write("function HideWait(){mydiv.style.visibility='hidden';")
    Response.Write("window.clearInterval();}")
    Response.Write("StartShowWait();</sc" & "ript>")
    Response.Flush()
    Thread.Sleep(10000)
      '------------------
             Dim numrows As Integer = 20
             Dim numcells As Integer = 20
             Dim j As Integer
             For j = 0 To numrows - 1
                Dim r As New TableRow()
                Dim i As Integer
                For i = 0 To numcells - 1
                   Dim c As New TableCell()
                   c.Controls.Add(New LiteralControl("row " & j.ToString() & ", cell " & i.ToString()))
                                 
                   r.Cells.Add(c)
                Next i
                Table1.Rows.Add(r)
             Next j
          End Sub 
       </script>
    </head>
    <body>
    <script>
    HideWait();
    </script>
       <form runat="server">
          Table Example
          <asp:Table id="Table1" 
               Font-Name="Verdana" 
               Font-Size="8pt" 
               CellPadding="5" 
               CellSpacing="0"           
               BorderWidth="1" 
               Gridlines="Both" 
               runat="server"/>
       </form>
    </body>
    </html>
      

  4.   

    我是用C#的,VB基本看不懂……
      

  5.   

    放在.aspx文件<HEAD></HEAD>中
      

  6.   

    Page_Load事件中添加防刷新机制'防刷新重载机制
    If Not Page.IsPostBack ThenEnd
      

  7.   


    放在.aspx文件<HEAD></HEAD>中会在页面最上方把那四条语句显示出来,而且刷新的时候还是有问题……防刷新机制里,应该把所有的代码都写到那个 if(!Paga.IsPostPack){}里吗?
      

  8.   

    问题解决了,再另一个帖子里找到了解决办法:因为LinkButton会postback页面
    你可以用js解决
    在LinkButton后加上
    Response.Write("<script>window.location.href=window.location.href;</script>");
    谢谢各位的关注!
      

  9.   

    看看 Page_Load里是不是有的函数不用写