1
17
我想我也遇到了类似的问题。我已经发布了详细信息: http://forums.asp.net/t/1523362.aspx 编辑 :来自MVC团队的响应(来自上面的URL): 我们对此进行了调查,并得出结论,验证系统的运行情况符合预期。由于模型验证涉及尝试对所有属性运行验证,并且由于不可为空的值类型属性具有隐式[必需]属性,因此我们正在验证此属性并在进程中调用其getter。我们知道这是一个突破性的变化,从v1的产品,但它是必要的,使新的模型验证系统运行正确。 你有几个办法来解决这个问题。其中任何一个都应该有效:
再次感谢你的报告! |
2
2
MVC3仍然存在同样的问题。 我认为最好的方法是在global.asax中实现这一点(来自Sevenentral的答案):
这对所有人都是无效的 |
3
1
这对我来说就像是一只虫子。我完全不明白为什么ModelBinder需要检查我的只读属性(可能有一些技术特性,但我绝对不理解,不愿意花时间尝试)。 我将以下模型元数据提供程序添加到我的解决方案中以解决此问题
您还需要将以下内容添加到global.asax.cs
|
4
0
当然我想我可以转换
|
5
0
我也有同样的问题!! 有关我的问题的更多信息,您可以访问 ASP.NET MVC 2.0 Unused Model Property being called when posting a product to the server? 这是否意味着我们需要对我们的属性进行编程,并假定它们将被意外调用(在设置/初始化它所依赖的属性之前等等)。如果是这样,这代表了我们编程实践的一个变化,我想知道如何继续。 同时,我有一个简单的“如果”检查来解决这个问题。 |
6
0
我遇到了一个类似的问题,一个我不希望被验证的字段在表单发回控制器时接收到一个错误。在咕噜了几声之后,我遇到了 http://codeblog.shawson.co.uk/mvc-strongly-typed-view-returns-a-null-model-on-post-back/ 有人指出,名称冲突可能导致问题。 虽然我不认为我的回发变量类有冲突的属性名,但是重命名接收错误的属性解决了我的问题。 |
7
0
同样的问题仍然存在于MVC 5.2.3中,甚至不是验证代码导致的问题。这个
请在此处查看更详细的解释和完整的解决方案: https://stackoverflow.com/a/54431404/10987278 . 我不确定该解决方案是否可以重构为与MVC 3一起工作,但希望它可以帮助其他人在MVC的较新版本中仍然遇到与我一样的问题。 |