如何在App_LocalResources下加载Resx文件以迭代它

时间:2017-04-11 12:25:06

标签: asp.net webforms resources resx

我需要当前页面的ResX文件,该文件保存在“App_LocalResources”下。

我需要迭代它。

方法“GetLocalResourceObject”仅允许访问一个密钥。

1 个答案:

答案 0 :(得分:0)

由于resx文件只不过是一个xml文件,因此您可以使用XElement

循环所有元素
string resxFile = Server.MapPath("/App_LocalResources/Default.aspx.resx");

foreach (XElement element in XElement.Load(resxFile).Elements("data"))
{
    string currentItem = string.Format("Key: {0}  Value: {1}", element.Attribute("name").Value, element.Element("value").Value);
}

另一个选项是ResXResourceReader。但是,您需要添加System.Windows.Forms作为项目的参考。

using System.Resources;

//define the filename and path for the resx file
string resxFile = Server.MapPath("/App_LocalResources/Default.aspx.resx");

//load the file into the reader
using (ResXResourceReader reader = new ResXResourceReader(resxFile))
{
    //loop all the entries
    foreach (DictionaryEntry entry in reader)
    {
        string currentItem = string.Format("Key: {0}  Value: {1}", entry.Key, entry.Value);
    }
}