Asp.net mvc 如果表单有错误,则更改文本

Asp.net mvc 如果表单有错误,则更改文本,asp.net-mvc,asp.net-mvc-3,validation,Asp.net Mvc,Asp.net Mvc 3,Validation,目前,我的表单顶部有一条摘要消息,邀请我的用户登录。如果表单在提交时未验证,我希望随后用相关错误替换该表单 我能想到的唯一方法是隐藏初始文本(可能在@Html.Label中),然后显示@Html.ValidationSummary。然而,我觉得很有可能有一种更有效的方法来做到这一点 有人能帮忙吗?我想要一个@Html.Label助手,并使用ViewBag对象将数据传递给它。这样,当您测试ModelState.IsValid时,可以在控制器中设置ViewBag属性,以便将其传递给标签帮助器 有道理

目前,我的表单顶部有一条摘要消息,邀请我的用户登录。如果表单在提交时未验证,我希望随后用相关错误替换该表单

我能想到的唯一方法是隐藏初始文本(可能在
@Html.Label
中),然后显示
@Html.ValidationSummary
。然而,我觉得很有可能有一种更有效的方法来做到这一点


有人能帮忙吗?

我想要一个
@Html.Label
助手,并使用
ViewBag
对象将数据传递给它。这样,当您测试
ModelState.IsValid
时,可以在控制器中设置
ViewBag
属性,以便将其传递给标签帮助器


有道理吗?我就是这样做的。

打开验证摘要

@Html.ValidationSummary(true)
在您的
post
ActionResult中,检查
ModelState

[HttpPost]
public ActionResult Foo( Bar _bar){

  if(ModelState.IsValid){
    //noral course of action
   return RedirectToAction("Foo"); //Redirect to the GET method
  }
   ModelState.AddModelError("", "|Your Message Here");
 return View(_bar);
}

不,这种方法没有问题。
我通常将单div与jquery一起用于表单验证等。 我在页面上创建了一个单独的div,其中可以显示任何类型的消息,以供用户参考。
例如:
如果我已经向用户显示了某种信息,它将显示如下:

div id='divMessage'</div>

$('#divMessage').html('Please fill the following form.').removeClass().addClass('msg');

我希望till会有用。

这是一个快速的回复,我删除了我的原始评论谢谢你的回复@3nigma。但是,我已经有了一个验证摘要-如果显示了此验证摘要,我正在寻找隐藏消息的正确方法。
$('#divMessage').html('some error occurred.').removeClass().addClass('errmsg');