C# 在ASP.NET MVC中成功登录后更改文本按钮

C# 在ASP.NET MVC中成功登录后更改文本按钮,c#,asp.net-mvc,asp.net-mvc-5,C#,Asp.net Mvc,Asp.net Mvc 5,我在谷歌上找不到答案/指南。如何更改登录按钮的文本 在用户成功登录后“注销”。我正在开发ASP.NETMVC5Web应用程序。感谢您提供有用的答案/指南 以下是我如何在应用程序中向用户显示“登录”或“注销”链接的方法,用于检查用户是否登录 @using Microsoft.AspNet.Identity @if (Request.IsAuthenticated) { using (Html.BeginForm("LogOff", "Account", FormMethod.Post, n

我在谷歌上找不到答案/指南。如何更改登录按钮的文本 在用户成功登录后“注销”。我正在开发ASP.NETMVC5Web应用程序。感谢您提供有用的答案/指南

以下是我如何在应用程序中向用户显示“登录”或“注销”链接的方法,用于检查用户是否登录

@using Microsoft.AspNet.Identity
@if (Request.IsAuthenticated)
{
    using (Html.BeginForm("LogOff", "Account", FormMethod.Post, new { id = "logoutForm" }))
    {
        @Html.AntiForgeryToken()

        <a href="javascript:document.getElementById('logoutForm').submit()">
            Log Out
        </a>
    }
}
else
{
    <a id="loginlink" href="@Url.Action("Login", "Account")">
        Login
    </a>
}
@使用Microsoft.AspNet.Identity
@如果(请求已验证)
{
使用(Html.BeginForm(“注销”、“帐户”、FormMethod.Post、新{id=“logoutForm”}))
{
@Html.AntiForgeryToken()
}
}
其他的
{
}
当然,这需要一个
帐户
控制器,该控制器具有
注销
登录
方法,但它能让人明白这一点。

@if(会话[“用户名”!=null)
@if (Session["Username"] !=null)
                          {
                                <a href="@Url.Action("LogOut", "Login")" class="cta-btn">LogOut</a>

                          }
                          else
                          {
                            <a href="/Signup/Signup" class="cta-btn ">Signup</a>    
                            <a href = "/Login/login" class="cta-btn">Login</a>
                          }
{ } 其他的 { }
您是否使用VS的默认项目模板附带的内置身份验证?Asp.Net标识?不,我开始使用空MVC。因为我想从头开始学习。我的登录表单工作正常。我在数据库表中检查用户名和密码谢谢你的回答。我有点了解你的代码流程,但我对这个请求不太熟悉。I验证代码和其他语法。我只是获取输入值,然后对照数据库检查。我可以在现有方法中使用内置代码吗?没问题吧?谢谢。由于您是从头开始做的,您可能没有任何会员资格功能,因此使用
Request.IsAuthenticated
将无法工作。然而,想法是一样的。在某个时刻,您的用户将登录,当他们登录时,您可以设置标志或使用会话变量来跟踪他们是否已成功登录。然后,在代码中,您可以检查先前设置的标志或会话变量,并根据其值显示不同的内容。您在哪里为Request.IsAuthenticated编写了代码,它是否在Model类中?谢谢。那不是我的,它是.NET的一部分,在System.Web中。更多信息,请查看我答案中的链接。