2013-03-01 65 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