点击“后退”按钮时不保存前一个网页中文本框的值(empty the textbox in previous page when "BACK" button is clicked )

页面上有TextBox,供用户输入数据,当用户点击页面上的超链接时会进入另一个页面,这时候,再点击浏览器“后退”按钮,就会回到原来的页面,并显示刚才在TextBox中输入的文字。然而,有些时候这些数据是机密的,不能在这种情况下显示,于是问题就产生了。。

 

网上有很多尝试方法,比如设置meta、关闭ViewState等等,我试过,都没用,我目前最好的办法就是使用JavaScript在Page onbeforeunload时清空

 

Code( work in FF2.0, IE7.0 ):

 

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    
<title>Untitled Page</title>
    
<script type="text/javascript">
    
function clear()
    {
        
var tb=document.getElementById("TextBox1"
);
        tb.value
=''
;
    }
    
</script>

</head>
<body onbeforeunload="clear();">
    
<form id="form1" runat="server" >
    
<div>
        
<asp:Button ID="Button1" runat="server" Text="Button" />
    
</div>
    
<asp:TextBox ID="TextBox1" runat="server" ></asp:TextBox>
    
</form>
    
<p>
        
<href="Default5.aspx">Default5.aspx</a></p>
</body>
</html>
posted @ 2008-08-27 17:21  LanceZhang  阅读(1488)  评论(0编辑  收藏  举报