当模型没有通过验证时,我使用ModelState.AddModelError向用户显示错误消息。当验证通过时,显示信息消息的最佳方法是什么。我不想添加额外的HTML元素。是否可以使用ModelState object发送信息消息?
发布于 2012-03-30 17:54:48
您可以测试模型是否有效,并显示相应的消息
@if (ViewData.ModelState.IsValid)
{
<div>Your model is valid</div>
}显然,如果您不想一直显示该消息,甚至在第一次到达页面时,也可以使用另一个视图模型布尔属性来指示是否要显示该消息。然后,在POST操作中,当所有内容都通过验证时,在视图中将其值设置为true:
@if (Model.ShouldShowSuccess && ViewData.ModelState.IsValid)
{
<div>Your model is valid</div>
}发布于 2012-03-30 18:04:05
我构建了一个PartialView来显示成功的帖子。它靠近Html.ValidationSummary()。
当ModelState有效时,我使用IsValid消息为TempData变量赋值,因此在我的视图中,我有以下内容:
@Html.ValidationSummary()
@if (ViewData.ModelState.IsValid && TempData["ModelIsValidMsg"] != null)
{
@Html.Partial("PostSuccess", TempData["ModelIsValidMsg"])
}在我的控制器中:
if (ModelState.IsValid)
{
TempData["ModelIsValidMsg"] = "Your success msg";
}
else
{
ModelState.AddModelError("Your error msg");
}在PartialView中,我显示了TempData消息。
https://stackoverflow.com/questions/9940494
复制相似问题