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();
}