通常您希望用户在他提交的数据无效时显示错误消息(例如,他没有在要求成为电子邮件的字段中输入有效的电子邮件地址 - 请参阅 MVC ModelValidation 了解更多信息)。
您使用 ModelState.IsValid 进行检查。在这种情况下,您通常会向他显示他来自的页面(“Register”),并且您还想显示他在表单字段中输入的数据(= RegisterModel)。但是您想显示一条错误消息,告诉他哪些字段不正确。
如果用户的数据是正确的并且您的操作成功(在这种情况下他已成功注册),您通常不会再次向他显示注册表单,但您会将他重定向到成功页面。
这是一个简单的示例,如何在成功操作后验证、显示错误和重定向。
您的代码中的示例:
[HttpPost]
public ActionResult Register(RegisterModel model)
{
if (ModelState.IsValid)
{
//do stuff
// redirect to a success page
return RedirectToAction("Success");
}
// data is not valid - show the user his data and error messages
// using Html Helper methods (see link for details)
return View(model);
}
在注册视图上(如果没有 - 如果你有一个强类型视图,你可以使用 HTML Helper 重载 - 例如使用 Html.LabelFor、TextboxFor 等方法):
显示一般错误消息/摘要;
...
<%= Html.ValidationSummary("Register was not successfull") %>
在输入旁边显示错误消息:
...
<%= Html.TextBox("Email") %>
<%= Html.ValidationMessage("Email", "*") %>