我希望在帐户模型无效时显示提醒消息框。 我应该如何在Asp.Net Core MVC中的控制器中执行此操作? 这是我的控制器代码
[HttpPost]
public IActionResult Index(Account model)
{
if (model.ID != null && model.PassWord != null)
{
using (var db = new AccountDBContext())
{
var account = db.Account.FirstOrDefault(
a => a.ID.Equals(model.ID) && a.PassWord.Equals(model.PassWord)
);
if(account != null)
return RedirectToAction("Index", "Main");
}
//I want to display error msg box...here like "Check ID or PW".
ModelState.AddModelError("", "Error");
}
return View();
}
我搜索过的方式,但没有" Page"标识符或" Response.write()"此控制器类中的方法.... 我该怎么办?
P.S 我检查模型验证的方式是正确的吗? (我使用了模型并检查了它的部分属性,而不是使用视图模型)
答案 0 :(得分:5)
在控制器中定义错误:
ModelState.AddModelError("Error", "Check ID");
然后在视图中显示:
@if (!ViewData.ModelState.IsValid && ViewData.ModelState["Error"].Errors.Count > 0)
{
<div class="alert alert-
<strong>Error!</strong> danger">@ViewData.ModelState["Error"].Errors.First().ErrorMessage
</div>
}
修改强>
要显示警告框,请在视图中添加一些javascript,以下使用jquery:
<head>
<script type="text/javascript">
@if (!ViewData.ModelState.IsValid && ViewData.ModelState["Error"].Errors.Count > 0)
{
<text>
$(document).ready(function() {
alert('@ViewData.ModelState["Error"].Errors.First().ErrorMessage');
});
</text>
}
</script>
</head>