用户名或密码错误页面无效

我正在建立一个汽车销售项目,每当输入错误的用户名或密码时,我都想要一个错误页面。

我尝试使用[HandleError]属性,现在尝试使用Membership.ValidateUser。我对应该使用哪一个感到有些困惑,我知道HandlerError属性是针对特定错误的。

[HttpPost]
public actionResult Login(User user)
{
    using (CarsDBEntities db = new CarsDBEntities())
    {
        var usr = db.Users.Single(u => u.Email == user.Email && u.Password == user.Password);
        if (usr != null)
        {
            Session["UserId"] = usr.UserId.ToString();
            Session["Email"] = usr.Email.ToString();
            Session["FirstName"] = usr.FirstName.ToString();
            Session["LastName"] = usr.LastName.ToString();
            return RedirectToaction("LoggedIn");
        }
        if (!Membership.ValidateUser(usr.Email,usr.Password))
        {
            ModelState.AddmodelError(string.Empty,"The user name or password is incorrect");
            return View(user);
        }
        return View();
    }
}

这是我的观点

@model Car_Sales.Models.User

@{
    ViewBag.Title = "Login";
}

<h2>Login</h2>


@using (html.beginform()) 
{
    @Html.AntiForgeryToken()

    <div class="form-horizontal">
        <h4>User</h4>
        <hr />
        @Html.ValidationSummary(true,"",new { @class = "text-danger" }) 

        <div class="form-group">
            @Html.LabelFor(model => model.Email,htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.Email,new { htmlAttributes = new { @class = "form-control" } })
                @Html.ValidationmessageFor(model => model.Email,new { @class = "text-danger" })
            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.Password,htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.Password,new { htmlAttributes = new { @class = "form-control" } })
                @Html.ValidationmessageFor(model => model.Password,new { @class = "text-danger" })
            </div>
        </div>

        <div class="form-group">
            <div class="col-md-offset-2 col-md-10">
                <input type="submit" value="Login" class="btn btn-default" />
            </div>
        </div>
    </div>
}

<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/jquery.validate.min.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>

我希望它会显示一个错误,告诉用户他/她输入了错误的凭据。

my476764515 回答:用户名或密码错误页面无效

您为什么不redirect到新的View或Action或Controller?

示例:

if (!Membership.ValidateUser(usr.Email,usr.Password))
{
       return RedirectToAction("Error","SomeAction")
}
本文链接:https://www.f2er.com/3116348.html

大家都在问