以下のコードには、従業員に関する情報を含むフォームがあります。合言葉を感じて投稿してください。パスワードが正しければ、ユーザーはそのパスワードにリダイレクトされます/Dashboard
。
パスワードが間違っている場合、エラー ( _ErrorPartial
) をMyError
div に表示してフォームを表示したい。フォームとメッセージを 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>