2012-12-12 97 views
0

资源我有一个MVC应用程序,它确实使用了一些自定义的路由:与.net MVC 4

{Customer}/{Entity}/{Action} 

{Customer}路径变量可以理解,如本地化变量。我想根据{Customer}中的值更改视图上的标签。这意味着对于Customer1,Field1标记为Username并且对于Customer2,Field1命名为LoginName。 (示例没有意义,但应显示要求)。

我该如何达到预期的效果?我开始创建两个资源文件Labels.Customer1.resxLabels.Customer2.resx,但不知道如何在视图中启用这些文件。

顺便说一下,我不使用剃须刀引擎。

谢谢!

+1

你要买提取路径变量命名什么'{}客户来电每个标签的值'是什么? '/ foo/bar/baz'得到'foo'? '/ a/b/c'得到'a'? – Eonasdan

+0

通常资源文件是基于语言?将Thread.CurrentUICulture设置为在resx中指定的区域性将使用该文化信息。 – AntonR

+0

不,我在应用程序的多个位置提取{Customer},这不是重点。我想知道如何使用资源文件来解决这个问题,这个问题实际上并不是关于当前的UICulture ...... – stromflut

回答

1

我在下面添加的链接显示如何使用资源文件以及如何使用资源文件中的值来替换标签的值,以根据您选择的资源文件更改不同的值。

据此,您可以创建一个属性,您可以在其中设置当前资源文件。 一旦您设置当前的资源文件,你可以从那里

http://www.4microsoftsolutions.com/post/AspNet-Globalization-and-Localization-using-Local-Resource-files-and-Global-Resource-files-.aspx

Loop through all the resources in a .resx file

+0

并不那么容易实现。看起来像我想要的那样完全不可能。我的解决方案:我将创建一个专用类,用于提供包含从xml文件动态加载的字符串的视图。 – stromflut