在按返回按钮的时候,需要判断一下页面上的所有值同数据库中最后一次保存的值做比较,如果相同的话就跳出,不同的话就调用保存的过程,请问这个怎么写,比较跟保存已写.

解决方案 »

  1.   

    没有  直接的办法
    只有通过程序去判断 
    文本框的值是否 和以前 不同
    你可以在页面加载的时候 把值保存 成一个 静态变量  用xml格式  组织
    关闭时 再 用xml格式把值组织起来 然后用字符串 或其他方式对比 两次的不同的 地方
      

  2.   

    你最好用一个隐藏域来保存“是否已经保存”的状态,当你在点击返回按钮时执行客户端脚本,如果选择了确定就强制postback来保存数据:<asp:textbox id="txtFlag" style="DISPLAY: none" runat="server"></asp:textbox><script language=javascript>
    function ConfirmHandler()
    {
        if (window.document.forms[0].txtFlag.value = "isSaved")
        {
            if (confirm("已经保存"))
            {
                alert("确定");
            }
        }
        else
        {
            <%=强制回调%>
        }
    }
    </script>关于如何通过javascript强制postback,参考--
    http://www.cnblogs.com/fengzhimei/archive/2004/03/16/37686.html
      

  3.   

    请试一下:用ViewState保存从数据库中读出数据,点击保存时,与ViewState保存值逐一比较,不同就保存,相同则退出。
      

  4.   

    比较跟保存已写什么意思啊?
    是不是你只想要返回啊。
    可以用javascript:history.go(-1);返回。
      

  5.   

    if (你只想要返回)
     javascript:history.go(-2);
    else
     if (confirm("确定修改?"))
         window.Form1.hidden??.value="needmodify";
         window.Form1.submit();
        //or __doPostBack()
      

  6.   

    现在的关键是页面初始话的时候如果加载Me.btnReturn.Attributes.Add("onclick", "return checkConfirm();"),一点击就直接谈对话框了,而不是做过判断以后