1

我们的网站(ASP.NET 4.0)meta:ResourceKey在每个控件中大量使用了您在页面上可以看到的几乎所有内容,并且从客户端到客户端进行了定制。但问题是资源有时需要从客户端到客户端进行定制。例如,如果资源文件中有这个字符串,Label1ResourceText.Text = 'Welcome to Customer1 site'那么当我们安装 Customer2 版本时,它需要更改为Label1ResourceText.Text = 'Welcome to Customer2 site'应用程序的英文和本地化资源版本。我想知道是否可以通过编程或声明方式在每个客户之间进行最少的定制工作,但不必为每个客户手动编辑或生成不同的资源文件。感谢您的建议。

4

2 回答 2

1

无论您使用单个文件还是多个文件,如果您使用单个文件方法,您的网站仍然必须确定要使用哪个文件或使用哪个密钥。

除此之外,您将不得不使用两个单独的文件。

另一种方法是将单个资源文件(例如 UIStrings.resx)添加到资源文件夹。然后,您可以将以下字符串存储在资源文件中

WeclomeMessage = "欢迎来到 {0} 站点"

然后你可以使用

Label1.Text = String.Format(Resources.UIStrings.WelcomeMessage, CustomerName);

在后面的代码中。

作为代码背后的替代方法是使用

<asp:Label Text="<%= String.Format(Resources.UIStrings.WelcomeMessage, CustomerName)%>" />

这个链接有一些关于如何利用资源文件的好信息。

于 2012-09-03T18:58:15.007 回答
0

查看http://msdn.microsoft.com/en-us/library/ms227982(v=vs.100).aspx。您可以使用不同的 resx 文件并根据您的业务逻辑以编程方式调用它们。

于 2012-09-03T18:03:50.910 回答