gpt4 book ai didi

ASP.NET 在运行时创建资源

转载 作者:行者123 更新时间:2023-12-04 23:47:48 25 4
gpt4 key购买 nike

我正在开发一个具有多语言功能的 ASP.NET 网络应用程序,允许网站管理员在运行时创建新语言。

我想的方法如下:

  1. 用户选择一种可用(未创建)的语言。
  2. 当用户确认时,应用程序会自动复制一组现有资源,用新的文化替换文件名。例如:default.aspx.en-us.resx 到 default.aspx.es-ar.resx。
  3. 用户编辑最近创建的资源。

目前我在执行第 2 步时遇到问题。我已经复制了资源,但是这些新资源被忽略了。我认为发生这种情况是因为新资源未包含在正在运行的程序集中,因此被忽略了。

当我在本地项目中测试以下代码时,我必须手动将新资源添加到解决方案中,然后重新编译才能使其工作。

有人知道怎么做吗?

这是上述副本的代码。

string _dir = path_ + "App_LocalResources\\\\";
DirectoryInfo _dirInfo = new DirectoryInfo(_dir);

foreach (FileInfo _file in _dirInfo.GetFiles("*en-us.resx")) {
_file.CopyTo(_dir + _file.Name.Replace("en-us", idioma_.Cultura));

}

string _dir2 = path_ + "App_GlobalResources\\\\";
_dirInfo = new DirectoryInfo(_dir2);

foreach (FileInfo _file in _dirInfo.GetFiles("*en-us.resx")) {
_file.CopyTo(_dir2 + _file.Name.Replace("en-us", idioma_.Cultura));
}

非常感谢。

最佳答案

创建或编辑资源文件不可能以与读取数据相同的方式进行。为了创建或编辑资源文件,您应该按照创建或编辑 XML 文件的方式进行操作,因为资源文件具有特定的结构化 XML 元素。

也许这个article会帮助你...

关于ASP.NET 在运行时创建资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12231527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com