addmodelerror是在fr视图中工作,而不是在部分视图中。
我的代码:部分视图"_login“,在Login.cshtml视图中称为:
@model MODEL.Identity.LoginViewModel
@using (Ajax.BeginForm("Login", "MyAccount", new AjaxOptions { HttpMethod = "POST"}, new { role = "form" }))
{
@Html.AntiForgeryToken()
<div class="main-container">
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="container">............显示电子邮件和密码的错误信息,但不显示我的ModelState.AddModelError("“、"Nom d‘’utilisateur mot de passe non .”);“行动代码”:
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
{
if (ModelState.IsValid)
{
ApplicationDbContext context = new ApplicationDbContext();
var u = await UserManager.FindByEmailAsync(model.Email);
bool passhash = false;
if (u != null)
{
passhash = await UserManager.CheckPasswordAsync(u, model.Password);
}
if (u != null && passhash)
{
await SignInAsync(u, model.RememberMe);
return RedirectToLocal(returnUrl);
}
else
{
ModelState.AddModelError("", "Nom d'utilisateur ou mot de passe non valide.");
}
}
return PartialView("~/views/MyAccount/_login.cshtml",model);
}帮忙谢谢
发布于 2017-02-11 13:20:53
它解决了它的工作,但我不知道它是否良好的做法?这是我的密码
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<string> Login(LoginViewModel model )
{
var u = await UserManager.FindByEmailAsync(model.Email);
bool passhash = false;
if (u != null)
{
passhash = await UserManager.CheckPasswordAsync(u, model.Password);
}
if (u != null && passhash)
{
await SignInAsync(u, model.RememberMe);
return ("ok");
}
else
return ("Nom d'utilisateur ou mot de passe non valide.");
}以及我的观点或部分观点
@model MODEL.Identity.LoginViewModel
<script type="text/javascript">
function OnSuccess(response) {
if (response != "ok")
{
document.getElementById("errormessage").innerHTML = response
}
else
{
window.location.href = "/Home/Index/";
}
}
</script>
@using (Ajax.BeginForm("Login", "MyAccount", new AjaxOptions { OnSuccess = "OnSuccess" }, new { @class = "form-horizontal", role = "form" }))
{
<div id="errormessage" class='field-validation-error text-danger' style=" display: block;"></div>
@Html.AntiForgeryToken()
<div class="main-container">
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="container">............ 如果你有其他的想法,把它贴出来
https://stackoverflow.com/questions/42175400
复制相似问题