点击“后退”按钮时不保存前一个网页中文本框的值(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>
<a href="Default5.aspx">Default5.aspx</a></p>
</body>
</html>
<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>
<a href="Default5.aspx">Default5.aspx</a></p>
</body>
</html>