在下面的代码中,我有一个包含一些员工信息的表单。我想感受一下密码和帖子。如果密码正确,用户将被重定向到该密码是/Dashboard
可以的。
当密码错误时,我想_ErrorPartial
在 div 中显示错误 ( )MyError
并且仍然可以看到表单。我想在 div ( MyError
) 中查看表单和消息。使用下面的代码,当密码错误时,我看到错误消息,但在空白页面上,而不是带有布局 + 表单 + 错误消息的页面
任何的想法 ?
谢谢,
我的页面 :
@model MyApp.EmployeeModel
<script type="text/javascript">
$(document).ready(function () {
$(".").click(function () {
$.ajax({
url: '/Account/Login',
type: "Post",
data: $('#MyForm').serialize(),
success: function (result) {
alert('Im here');
$("#MyError").html(result);
//Here is code to detect error or not but removed
}
});
});
});
</script>
<div id="MyError"></div>
@using (Html.BeginForm("Login", "Account", FormMethod.Post, new { id = "MyForm" }))
{
@Html.AntiForgeryToken()
<div>
@Html.LabelFor( m => m.FirstName)
<div>
@Html.HiddenFor(model => model.Username)
@Html.LabelFor( m => m.Password)
@Html.PasswordFor(m => m.Password)
<input type="submit" class="jqClick" />
</div>
</div>
}
控制器 :
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Login(EmployeeModel employeeModel)
{
var Errors = new List<string>();
var employee = .... //Get employee from DB
if (employee == null)
{
Errors.Add("Employee trouble");
return PartialView("_ErrorPartial", Errors.AsEnumerable());
}
return RedirectToAction("Index", "Dashboard");
}
我的 _ErrorPartial 视图:
@model IEnumerable<string>
<div id="DisplayError">
@{ var error = string.Empty; }
@foreach (var err in Model){
error += err + "<br>";
}
@Html.Raw(error)
</div>