2012-03-15 48 views
1

我们正在将现有应用程序迁移到ASP.NET MVC 3.我们正在重用数据库模式,其中包含数据库中的所有资源而不是resx文件。MVC3国际化数据注释

我们有一个ResourceProvider作为资源库的外观,它有一个方法接受一个Key并返回用户默认文化中指定的资源。

我们会想利用MVC模型DataAnnotations我们的模型绑定到我们提供的标签和验证剃刀意见等

我的问题是我们如何做到这一点,以便它可以跟我们的ResourceProvider?

我是否需要实现自定义DataAnnotationsModelMetadataProvider?还是有更好/更简单的方法来实现这一目标?

任何想法表示赞赏。

+0

你只是在谈论有关验证属性及其相应的错误消息,或者更一般地讨论诸如DisplayName等...? – 2012-03-15 17:27:04

+0

@Darin Dimitrov验证和DisplayName等.. – 2012-03-16 08:45:01

回答

2

我已经有了一个现成的解决方案(即与模型和验证本地化工作),你可以使用:http://blog.gauffin.org/2011/09/easy-model-and-validation-localization-in-asp-net-mvc3/

所有你需要做的是落实IStringProvider接口从自己的数据库中读取代替。

更新

现在我已经写了一个article了。

+0

感谢您的支持。此方法是基于约定,即密钥名称还是有效的,或者是否有方法将其指定为属性的一部分?我得到的是我需要更新数据库中资源的现有密钥? – 2012-03-16 09:13:33

+0

我不关注。该接口定义了库要求的内容。您可以使用该信息来查询数据库中的正确值。 – jgauffin 2012-03-16 09:43:13

+0

好的,谢谢你的队友。让我进一步看看,我会让你知道我是如何进入/更新这个线程。非常感激。 – 2012-03-16 11:04:39