2015-06-03 65 views
2

我创建了一个主页,其中有一个名为退出的按钮。如何使用该按钮登出或注销当前的登录会话。如何使用html按钮注销asp.net?

这里是按钮的代码:

<a href="#" class="btn btn-default btn-flat">Sign out</a> 

任何帮助,不胜感激!

+2

只需提供注销页面的href值即可。 'HREF = “Logout.aspx”'。 – Mairaj

回答

7

使用此注销码。

<a href="LogOut.aspx" class="btn btn-default btn-flat">Sign out</a> 

LogOut.aspx

<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> 
    </div> 
    </form> 

Logout.aspx.cs

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"; 
      //Response.Redirect("login.aspx", true); 
     } 
     catch (Exception ex) 
     { 
      Response.Write(ex.Message); 
     } 
     Response.Redirect("~/Login.aspx"); 
    } 
+0

定时器滴答功能我必须把logout.aspx代码放在后面?或者我必须在我的母版页中添加计时器并添加此代码? – Jilu

+2

不需要定时器。 – Mairaj

+0

定时器代码代码放入注销页面。 –

2

如果您使用窗体身份验证,它可以在一个行完成:

FormsAuthentication.SignOut(); 

但我会后它可能添加:

FormsAuthentication.RedirectToLoginPage(); 
1

您可以使用此:

logout.aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="logout.aspx.cs" Inherits="logout" %> 

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title>Logout</title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:Label ID="Label1" runat="server" Text="Logout successful."></asp:Label> 
     <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/index.aspx"> 
      You will redirect in 5 seconds. If you didnt, click here to redirect.</asp:HyperLink> 
    </div> 
    </form> 
</body> 
</html> 

logout.aspx.cs:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

public partial class logout : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     Session.Abandon(); 
     Session.Clear(); 
     Session.RemoveAll(); 
     Response.AppendHeader("Refresh", "5;url=index.aspx"); 
    } 
}