在c#MVC 5中将新的键/值对添加到Resx文件

时间:2015-02-04 02:39:09

标签: c# asp.net-mvc asp.net-mvc-5 resx

正在研究如何为Resx文件添加新名称和值,我不断遇到ResXResourceReader,但在添加Using System.Resources后没有显示给我。

回想起来,我只是把它移到数据库中,因为我只有几个resx文件所以我不太关心,直到他们要求管理员需要能够编辑和添加这些文件,但它也是迟到了。

任何输入都将不胜感激。

1 个答案:

答案 0 :(得分:0)

要回复问题,resx文件是xml格式的,您可以在根节点下添加自己的键值对:

<root>

  ...

  <data name="This is a Name" xml:space="preserve">
    <value>This Is a Value</value>
  </data>
</root>

这可以通过以下方式完成:

        var doc = XDocument.Load(@"filename.resx");
        var element = 
            new XElement("data", 
                new XAttribute("name", "This is a Name"), 
                new XAttribute(XNamespace.Xml + "space", "preserve"), 
                new XElement("value", "This Is a Value"));

        doc.Element("root").Add(element);
        doc.Save(@"output.resx");

要将新资源添加到应用程序中,您需要重新编译项目,因为VS使用resx文件生成代码,而代码又编译(通常称为Filename.Designer.cs for Filename.resx)。