C# 用户登录asp.net时显示注销

C# 用户登录asp.net时显示注销,c#,asp.net,.net,login,C#,Asp.net,.net,Login,我的母版页中有一个登录控件,看起来像这样: 用户登录后,我可以隐藏我的登录控件,但我想显示注销以代替登录控件。 我尝试了LoginStatus,登录一词在我注销后仍然出现。 我只想在登录后隐藏登录(我可以这样做)并显示注销。 一旦我点击注销,它就会消失。 有什么想法吗? 这是我在aspx中的登录控件: <asp:Login ID="SAP_Login" runat="server" TitleText="" UserNameLabelText="Email:" PasswordLabel

我的母版页中有一个登录控件,看起来像这样:

用户登录后,我可以隐藏我的登录控件,但我想显示注销以代替登录控件。
我尝试了
LoginStatus
,登录一词在我注销后仍然出现。 我只想在登录后隐藏登录(我可以这样做)并显示注销。
一旦我点击注销,它就会消失。 有什么想法吗?
这是我在aspx中的登录控件:

<asp:Login ID="SAP_Login" runat="server" TitleText="" UserNameLabelText="Email:" PasswordLabelText="Password:" Orientation="Horizontal" VisibleWhenLoggedIn="false"
    DisplayRememberMe="true" PasswordRecoveryText="Forgot your password?" PasswordRecoveryUrl="~/ResetPassword.aspx" ValidatorTextStyle-ForeColor="Red"
    RememberMeText="Remember me" RememberMeSet="true" OnAuthenticate="SAP_Login_Authenticate" OnLoggedIn="SAP_Login_LoggedIn">
    <LayoutTemplate>
        <table cellpadding="1" cellspacing="0" style="border-collapse: collapse; background-color: #dddedf; float: right;">
            <tr>
                <td>
                    <table cellpadding="0">
                        <tr>
                            <td style="font-family: Tahoma;">
                                <asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">Email:</asp:Label>
                            </td>
                            <td style="font-family: Tahoma;">
                                <asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password">Password:
                                    <asp:HyperLink ID="PasswordRecoveryLink" runat="server" NavigateUrl="~/ResetPassword.aspx">Forgot your password?</asp:HyperLink></asp:Label>
                            </td>
                        </tr>
                        <tr>
                            <td>
                                <asp:TextBox ID="UserName" runat="server" Font-Size="Small" Height="12px"></asp:TextBox>
                                <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName" ErrorMessage="User Name is required." ForeColor="Red" ToolTip="User Name is required." ValidationGroup="ctl00$SAP_Login">*</asp:RequiredFieldValidator>
                            </td>
                            <td>
                                <asp:TextBox ID="Password" runat="server" Font-Size="Small" Height="12px" TextMode="Password"></asp:TextBox>
                                <asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password" ErrorMessage="Password is required." ForeColor="Red" ToolTip="Password is required." ValidationGroup="ctl00$SAP_Login">*</asp:RequiredFieldValidator>
                            </td>
                        </tr>
                        <tr>
                            <td class="checkbox">
                                <asp:CheckBox ID="RememberMe" runat="server" Checked="True" Text="Remember me" />
                            </td>
                            <td>
                                <asp:Button ID="LoginButton" runat="server" BackColor="#1872AB" BorderStyle="None" CommandName="Login" ForeColor="White" Text="Log In" ValidationGroup="ctl00$SAP_Login" />
                            </td>
                        </tr>
                        <tr>
                            <td colspan="6" style="color: Red;">
                                <asp:Literal ID="FailureText" runat="server" EnableViewState="False"></asp:Literal>
                            </td>
                        </tr>
                        <tr>
                            <td colspan="6"></td>
                        </tr>
                    </table>
                </td>
            </tr>
        </table>
    </LayoutTemplate>
    <LoginButtonStyle BackColor="#1872AB" ForeColor="#FFFfff" BorderStyle="None" />
    <CheckBoxStyle CssClass="checkbox" HorizontalAlign="Left" />
    <LabelStyle Font-Names="Tahoma" />
    <TextBoxStyle Height="12px" Font-Size="Small" />
</asp:Login>

您是否尝试过
loginStatusControlId.LoginText=“”您可以将LoginText的默认值“Login”改写为空字符串,另一个选项是检查请求是否经过身份验证,然后显示LoginStatus控件,否则将其隐藏在Page_Load事件中。@rs.谢谢,我试图清空LoginText,但在浏览器中它会显示一个空图像!!尝试第二个选项,如果请求未通过身份验证,则隐藏控制。它正在工作,两个都在工作。我的应用程序中有一个错误。谢谢你抽出时间!
protected void SAP_Login_Authenticate(object sender, AuthenticateEventArgs e)
    {
        SqlDataReader LoginInfo = clsBP.BP_Id_Name(SAP_Login.UserName, SAP_Login.Password);
        if (LoginInfo.HasRows)
        {
            while (LoginInfo.Read())
            {
                FormsAuthentication.RedirectFromLoginPage(SAP_Login.UserName, SAP_Login.RememberMeSet);
                Response.Cookies["userinfo"]["cardcode"] = LoginInfo["CardCode"].ToString();
                Response.Cookies["userinfo"]["cardname"] = LoginInfo["CardName"].ToString();
                Response.Cookies["userinfo"].Expires = DateTime.Now.AddYears(20);

            } 

            Response.Redirect("Shopping.aspx"); SAP_Login.RememberMeSet = true;
        }
        else
        { SAP_Login.FailureText = "Invalid username or password"; }
        LoginInfo.Dispose();
    }