Asp.net mvc 我正在验证用户名和密码,但它在mvc4中不起作用

Asp.net mvc 我正在验证用户名和密码,但它在mvc4中不起作用,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,这是我的控制器 public ActionResult Index(Models.boss ob) { ViewBag.Bid = new SelectList(db.bosses, "Bid", "username"); var mm = db.bosses.Any(model => model.username == ob.username && model.password == ob.password); if (mm) {

这是我的控制器

public ActionResult Index(Models.boss ob)
{
    ViewBag.Bid = new SelectList(db.bosses, "Bid", "username");
     var mm = db.bosses.Any(model => model.username == ob.username && model.password == ob.password);
     if (mm)
     {
         return RedirectToAction("welcome");
     }
     else
     {
         ModelState.AddModelError("", "Login data is incorrect!");
     }
     return View(ob);
 }
这是我的Index.View,因为我验证了所有内容,但在网页上显示的内容与此相同

登录失败。检查您的登录详细信息。登录数据不正确

那么我做错了什么

@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()
    @Html.ValidationSummary(true, "Login failed. Check your login details.");
    <div class="editor-field">
        @Html.LabelFor(model => model.username)
        @Html.EditorFor(model => model.username)
        @Html.ValidationMessageFor(model => model.username)
    </div>
    <div>
        @Html.ValidationMessageFor(m => m.username)
    </div>
    <div class="editor-field">
        @Html.LabelFor(model => model.password)
        @Html.PasswordFor(model => model.password, "password=*")
    </div>
    <div>
        <label>SELECT USER</label>
        @Html.DropDownList("boss", ViewBag.Bid as SelectList, "Select a User", new { id = "boss" })
    </div>
    <button>LOGIN</button>
}
@使用(Html.BeginForm())
{
@Html.AntiForgeryToken()
@ValidationSummary(true,“登录失败。请检查您的登录详细信息”);
@LabelFor(model=>model.username)
@EditorFor(model=>model.username)
@Html.ValidationMessageFor(model=>model.username)
@Html.ValidationMessageFor(m=>m.username)
@LabelFor(model=>model.password)
@Html.PasswordFor(model=>model.password,“password=*”)
选择用户
@Html.DropDownList(“boss”,ViewBag.Bid as SelectList,“Select a User”,new{id=“boss”})
登录
}

服务器端错误
“登录数据不正确!”
,写入控制器。 客户端您已经在ValidationSummary中设置了初始错误
“登录失败。请检查您的登录详细信息。”

请删除初始客户端验证消息

您还必须在操作调用中传递令牌参数


请查看更多详细信息:

为什么您有
@Html.ValidationSummary(true,“登录失败。请检查您的登录详细信息”)?-它应该是
@Html.ValidationSummary(true)
。为什么你有两次
@Html.ValidationMessageFor(m=>m.username)
?和
@Html.PasswordFor(model=>model.password,“password=*”)
没有任何意义-它只需要
@Html.PasswordFor(model=>model.password)