c# - 使用 nameof() 与其父类一起检查类名以进行 MVC 验证

标签 c# asp.net-mvc unobtrusive-validation

我正在尝试使用 nameof 向 ModelState 添加错误:

 @Html.ValidationMessageFor(m => m.Foo.Bar)

在 View 中,这已被标记为 Foo.Barname

当我添加模型状态错误时,我必须将该错误键入 name,因此我使用 nameof(Foo.Bar) - 然而这只是给了我Bar,当我需要 Foo.Bar 时。现在我可以对 Foo.Bar 进行硬编码,但我宁愿使用强类型方法。我有哪些选择?

最佳答案

没有内置方法可以做到这一点,但有一些解决方法。

您可以自己连接命名空间的名称(没有运行时损失,但难以维护):

String qualifiedName = String.Format("{0}.{1}", nameof(Foo), nameof(Bar));

另一种选择是使用反射器直接获取完全限定名称(更简单,但有一些运行时损失):

String qualifiedName = typeof(Foo.Bar).FullName;

希望这对您有所帮助。

关于c# - 使用 nameof() 与其父类一起检查类名以进行 MVC 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40626477/

相关文章:

c# - 通过界面投影

c# - 使用 Knockoutjs 显示点击的项目

c# - 从 Controller 查看 ASP.net MVC5 访问按钮

asp.net-mvc - 在.NET 3.5 ASP.NET MVC应用程序中使用Google Maps API

sql-server - ASP.NET MVC 缓存因身份验证而异

ASP.NET MVC5 : Unobtrusive validation during the filling out of the form field

c# - IValueConverter 和异常验证

asp.net-mvc - MVC3 如何禁用/启用 ActionLink

c# - 要么或要求验证

jquery - 禁用后重新启用 jQuery 验证