【问题标题】:How to abandon session after changing <li> in ASP.Net?在 ASP.Net 中更改 <li> 后如何放弃会话?
【发布时间】:2019-09-20 18:45:42
【问题描述】:

这是我在 ul il 设计中的水平菜单。我在列表中将登录名转换为注销时遇到问题。

<div class="menu">
        <ul>
            <li><a href="Home.aspx">Home</a></li>
            <li><a href="Dining.aspx">Dining</a></li>
            <li><a href="Meeting&Event.aspx">Meeting & Event</a></li>
            <li><a href="About_Us.aspx">About Us</a></li>
            <li><a href="Facilities.aspx">Facilities</a></li>
            <li><a href="Rooms.aspx">Rooms</a></li>
            <li><a href="Contact_Us.aspx">Contact Us</a></li>
            <li  style="float:right"><a id="aLogin" runat="server" href="Login.aspx">Login</a></li>
            <li id="liProfile" runat="server" style="float:right"><a href="GuestMenu.aspx">Profile</a></li>

        </ul>
    </div>

这是页面加载下的 .cs 代码

if (Session["Username"] == null)
        {
            liProfile.Visible = false;
        }
        else
        {
            string username = Session["Username"].ToString();
            aLogin.InnerText = "Logout";
            aLogin.Href = "Home.aspx";

        }

但问题是现在我该如何放置 Session.Abandon();现在在注销的里。因此,当用户看到 Signout 按钮时,他们可以按下它放弃登录会话。如果可能,我如何为 href 设置 OnClick 事件?所以我可以为

做一个if语句
if(aLogin.innerText == Logout) {
Session.Abandon();
}
else {}

【问题讨论】:

    标签: asp.net session


    【解决方案1】:

    我使用 2 个列表项。一个用于登录,一个用于注销。

    <a href="/login.aspx" ID="aLogin" runat="server" EnableViewState="False" Visible="False">Login</a>
    <a href="/logout.aspx" ID="aLogout" Visible="False" EnableViewState="False" runat="server">Logout</a>
    

    然后在后面的代码中:

    if (Request.IsAuthenticated)
    {
        aLogin.Visible = false;
        aLogout.Visible = true;
    }
    else
    {
        aLogin.Visible = true;
        aLogout.Visible = false;
    }
    

    希望对你有帮助。

    编辑: 您可以使用:

    FormsAuthentication.SignOut();
    

    【讨论】:

    • Request.IsAuthenticated 是如何工作的?我可以把 Session.Abandon();注销?点击后可见的变化吗?抱歉这个菜鸟问题
    • Request.IsAuthenticated:获取一个值,指示请求是否已经过身份验证。它随 ASP.NET 一起提供。我猜如果您的会话用户名是“空的”,您的会话就会被放弃。成功登录或注销(或会话过期)后可见性会发生变化。
    猜你喜欢
    • 1970-01-01
    • 2013-02-10
    • 1970-01-01
    • 2010-11-28
    • 2019-10-17
    • 2012-02-12
    • 1970-01-01
    • 2017-01-01
    • 2014-03-21
    相关资源
    最近更新 更多