gpt4 book ai didi

ASP.NET MVC - 非嵌入式资源文件

转载 作者:行者123 更新时间:2023-12-02 15:51:52 25 4
gpt4 key购买 nike

我当前在 ASP.NET MVC 项目中有一个本地资源文件。该文件的目标是让非程序员编辑网页上的文本。问题在于资源文件是嵌入式资源并在 ASP.NET MVC 部署上编译。这意味着他们将有 Visual Studio 来更改网站副本。这不是最佳的:)

有没有办法在 ASP.NET MVC 中使用资源文件,从而在服务器上生成一个 .resx 文件,供管理员类型的人员进行编辑?

另一个选项是将其放入数据库中并有一些前端来编辑它,但我真的很想避免这个选项,因为它对于小网站上的几个文本字段来说过于复杂。

谢谢!

最佳答案

这样做的一种方法是确保资源不被编译。

添加资源文件(例如 TextResource.resx)时,您可以以类型安全的方式访问资源。

例如:

ViewBag.Message = Resources.TextResource.MyMessage;

添加资源文件 (*.resx) 后,在解决方案资源管理器中选择它并查看其属性。清除“自定义工具”属性。默认情况下,它包含值“GlobalResourceProxyGenerator”。只需删除该值即可。

但是,这有一个缺点,因为您无法再以类型安全的方式访问资源。您必须使用 GetGlobalResourceObject 加载它们和 GetLocalResourceObject当前 HttpContext 的方法。

例如:

ViewBag.Message = this.HttpContext.GetGlobalResourceObject("TextResource", 
"Hello", CultureInfo.CurrentUICulture);

这样您就可以手动更改资源文件 (*.resx)。然后,您可以选择构建一个可以读取和修改资源文件(只是 XML 文件)内容的应用程序。

例如:

http://www.codeproject.com/KB/cs/Editing_a_ResourceFile.aspx

关于ASP.NET MVC - 非嵌入式资源文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7028538/

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