如果我有一个名为 Default.aspx 的页面,ASP.NET 会自动使用 App_LocalResources 中名为 Default.aspx.resx 的资源文件来本地化该页面中的服务器控件。
但由于某种原因,我需要选择另一个文件,比如说 Default-Custom.aspx.resx。为了提供一些背景信息,我已经有了 Default.aspx.resx,但有些用户需要向他们显示不同的内容,我将把这些内容放在 Default-Custom.aspx.resx 中。
是否可以选择用于 ASP.NET 中的 TemplateControl 的资源文件(无需编写自定义 ResourceProvider)?
看看这里:
ResourceManager.GetResourceFileName 方法
此方法使用 CultureInfo 的名称
属性作为文件名的一部分
除不变性之外的所有文化
文化。该方法不查找
程序集的清单或触摸
磁盘,仅用于构造
资源文件名是什么(合适
用于传递给 ResourceReader
构造函数)或清单资源
blob 名称应该是。
派生类可以重写它
寻找不同的方法
扩展名,例如“.ResX”,或
完全不同的命名方案
文件。
你可以尝试这样的事情:
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");
}
}
有关此内容的更多信息:
创建自定义资源提供者
在 BuildManager 和资源处理的幕后
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)