在stackoverflow和其他网站上有很多关于翻译DefaultModelBinder提供的默认错误消息的问题(和答案),例如this one或this one。
这些问题的所有答案基本上都是为了在App_GlobalResources下创建一个ressource(resx)文件,并为“PropertyValueInvalid”添加一条消息。
没关系, 有效,但还有其他消息(例如“值xxx必须是数字”),最大的问题是:在地狱中我可以有一个用于模型绑定验证的消息密钥列表,以及它们用于上下文的描述,以便我可以翻译它们吗?
答案 0 :(得分:8)
在Application_Start方法中设置DefaultModelBinder.ResourceClassKey = "ResourceFileName";
时,DefaultModelBinder类使用的是Asp.Net MVC使用的资源文件中定义的其他资源键。
在反汇编DefaultModelBinder时,有一个方法GetUserResourceString从自定义资源文件中读取。只使用这些消息键调用此函数两次:
这些是可以为MVC3中的DefaultModelBinder设置的唯一消息。