2012-03-15 82 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