【发布时间】:2016-08-19 08:14:02
【问题描述】:
这是我的控制器
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.ValidationSummary(true, "Login failed. Check your login details.");? - 应该只是@Html.ValidationSummary(true)。为什么你有两次@Html.ValidationMessageFor(m => m.username)?而@Html.PasswordFor(model => model.password, "password=*")毫无意义 - 它需要只是@Html.PasswordFor(model => model.password)