使用 ObjectDataSource 向 resx 文件添加值时出现问题

Problems with adding values to resx file with ObjectDataSource

我正在尝试将 resx 文件与对象数据源连接起来。但是,当我尝试添加一个值时,它并没有添加,而是 replacing 一个现有的值。有人可以给我提示吗?我到底做错了什么?

        Dictionary<string, string> resources = new Dictionary<string, string>();

        public Dictionary<string, string> SelectIndex()
        {            
            using (ResXResourceReader resxreader = new ResXResourceReader(filename)) {
                foreach (DictionaryEntry entry in resxreader) {                    
                    resources.Add(entry.Key.ToString(), entry.Value.ToString());
                }
            }
            return resources;
        }

        public void AddIndex(Data data)
        {
            using (ResXResourceWriter resx = new ResXResourceWriter(filename)) {                
                resx.AddResource(data.Key, data.Value);                
            }
        }

问题是ResXResourceReader内部使用了Dictionary,从你的foreach循环中可以看出。在字典中,每个键值都应该是唯一的,如果您使用相同的键添加资源,它将更新这些键的值。

MSDN article about ResXResourceReader

MSDN article about Dictionary