我的网页显示了我可以编辑的数据库值(网格视图)。 我的问题是:编辑后,如果我退出该页面,它会将我退出,但如果我再次将该页面网址放入浏览器,该页面将再次加载而不是要我再次登录。
ASP.NET代码:
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Logout.master.cs" Inherits="Logout" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
<asp:Label ID="Label1" Text="Loggin Out Please Wait.." runat="server" />
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Timer ID="Timer1" runat="server" Interval="1000" OnTick="Timer1_Tick">
</asp:Timer>
</ContentTemplate>
</asp:UpdatePanel>
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
</form>
</body>
</html>
C#代码:
protected void Timer1_Tick(object sender, EventArgs e)
{
Session.Clear();
Session.Abandon();
Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1));
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
try
{
Session.Abandon();
FormsAuthentication.SignOut();
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Buffer = true;
Response.ExpiresAbsolute = DateTime.Now.AddDays(-1d);
Response.Expires = -1000;
Response.CacheControl = "no-cache";
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
Response.Redirect("~/Login.aspx");
}
答案 0 :(得分:0)
在页面加载时,您必须首次看到该页面正在打开..如果您,请重定向到登录页面。所以你必须在页面加载时添加一个语句 Page_Load中。 如果(的IsPostBack) Responce.redirect(login.aspx的) 或者如果(!Ispostback)我不确定是哪一个