2013-03-01 68 views
1

我面臨以下情況:與多個項目ASP.NET MVC 3:更改Web前端資源文件的文本

  • 複雜的MVC應用程序
  • 應該能夠處理多國語言(不是每一種語言已被定義)
  • 的資源鍵將始終可用,只是值是每語言 不同
  • 服務層和網絡層需要資源
  • 資源是處於自己的項目 資源是公共的,具有生成操作嵌入的資源和自定義工具PublicResXFileCodeGenerator

改變遊戲規則:

  • 每種語言的資源文本應該是在web前端編輯和應在飛行中可用

而這就是問題所在。閱讀並顯示前端中每個資源的內容是沒有問題的。

閱讀代訂的CultureInfo的本地化資源文件:

var resourceSet = ResourceFile.ResourceManager.GetResourceSet(CultureInfo.CurrentUICulture, true, false); 

是否有可能要變資源文件?什麼是另一種方法?數據庫的方式?我發現this的方法。但它可能不適合我們的環境,因爲我們有一個獨立的資源項目,需要他們在多個項目中。

我的(簡單)有關數據庫的方式思考:

  • 每一個視圖模型的每個需要的字符串將在ViewModelBase定義>:/
  • 控制器獲取每個視圖所需要的字符串和區域設置出庫的並將其設置爲視圖模型
  • 查看每會ViewModel.Key

任何想法訪問的資源?

謝謝!

回答

0

最後回答:我們將所有資源存儲在數據庫中,並對自定義資源提供者進行了編碼。

2

是否可以更改資源文件?

不,沒有資源文件。您可以編寫一個custom resource provider並將它們存儲在另一個存儲中,例如數據庫。

+0

這仍然是首選方式嗎? (.net 2.0 ..)使用MVC的自定義資源提供者的最佳實踐? – chrjs 2013-03-02 20:50:03