如果我有一个名为Default.aspx的页面,ASP.NET会自动使用App_LocalResources中名为Default.aspx.resx的资源文件来本地化页面中的服务器控件。
但出于某种原因,我需要选择另一个文件,比方说Default-Custom.aspx.resx。为了提供一些背景知识,我已经有了Default.aspx.resx,但有些用户需要显示不同的内容,我将把它放在Default-Custom.aspx.resx中。
是否可以在ASP.NET中选择用于TemplateControl的资源文件(缺少编写自定义ResourceProvider)?
答案 0 :(得分:2)
看看这里:
ResourceManager.GetResourceFileName Method
此方法使用CultureInfo的名称 属性作为文件名的一部分 除了不变之外的所有文化 文化。此方法不会查找 集会的清单或触摸 磁盘,仅用于构造 什么是资源文件名(适合 传递给ResourceReader 构造函数)或清单资源 blob名称应为。
派生类可以覆盖它 寻找不同的方法 扩展名,例如“.ResX”或a 完全不同的命名方案 文件。
您可以尝试这样的事情:
public class ResxResourceManager : ResourceManager
{
protected override string GetResourceFileName(
System.Globalization.CultureInfo culture)
{
return base.GetResourceFileName(culture);
}
public string GetResxFileName(System.Globalization.CultureInfo culture)
{
return GetResourceFileName(culture).Replace(".resources", ".resx");
}
}
有关此内容的更多信息: