ValidationMessage和ValidationMessageFor之间的区别

时间:2013-08-16 05:22:00

标签: c# .net asp.net-mvc

出于验证目的,我使用validationMessage和ValidationMessageFor Helpers。两者都显示错误消息,因此验证消息和验证消息之间的主要区别是什么。我在各种网站搜索,但我找不到答案。任何帮助将不胜感激。

代码:

 @Html.ValidationMessage("FirstName", "Main Error", new {style="color:gray;" })
 @Html.ValidationMessageFor(x => x.FirstName,"",new {@style="color:green;" })

2 个答案:

答案 0 :(得分:2)

没有区别..除了ValidationMessageFor确实强类型 ...而ValidationMessage字符串类型(读取:弱)键入)。

第二个为您提供在运行时之前被捕获为错误的额外好处。

你似乎也有不同的风格..所以这也是一个区别:)

答案 1 :(得分:2)

大多数时候我使用ValidationMessageFor()传递表达式并允许MVC找出字段名称。但是,有时MVC无法正确找出字段名称,您需要使用ValidationMessage()将字段名称作为字符串传递。

如果您的模型是具有集合(甚至是嵌套集合)的复杂类型,则需要自己构建字段名称。

示例:ValidationMessage(“Car [0] .Wheels [0] .Size”)