App_GlobalResources(ASP.NET)中的子文件夹
是否可以将资源文件(.resx)放在App_GlobalResources中的子文件夹中?
例如:
或者,所有.resx文件是否直接放在App_GlobalResources中? 如果可以使用子文件夹,您如何以编程方式访问子文件夹中的资源? 解决方法
从技术上讲,是的,这是可能的,但有一些陷阱.首先,让我举个例子.假设我的App_GlobalResources文件夹如下所示:
/App_GlobalResources /Test TestSubresource.resx TestResource.resx 每个资源文件都有一个名为“TestString”的条目.我使用Visual Studio菜单添加了每个资源文件,因此它为我创建了一个类.默认情况下,添加到App_GlobalResources文件夹的所有类都将具有相同的Resource名称空间.所以,如果我想使用类生成器并且我想在命名空间中使用Test,我需要进入TestSubresource.Designer.cs文件并手动更改命名空间.一旦我这样做,我可以做到以下几点: var rootResource = Resources.TestResource.TestString; var subResource = Resources.Test.TestSubResource.TestString; 我也可以使用GetGlobalResourceObject引用它们: var rootResource = GetGlobalResourceObject( "TestResource","TestString" ); var subResource1 = GetGlobalResourceObject( "TestSubresource","TestString" ); 请注意,我仍然使用“TestSubresource”作为引用该文件中资源的方法,即使它位于子文件夹中.现在,其中一个问题是,所有文件在App_GlobalResources中的所有文件夹中必须是唯一的,否则您的项目将抛出运行时错误.如果我将名为“TestResource.resx”的资源添加到/ Test,它将抛出以下运行时错误:
即使我更改了新资源上的命名空间,也是如此. 因此,总而言之,是可能的,但是由于文件系统允许但不是.NET允许的App_GlobalResources文件夹结构的不同部分中的两个具有相同名称的资源文件,因此增加了获取运行时错误的几率. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 什么放在会话变量中
- asp.net – GridView中的工具提示
- asp.net-mvc – SSL握手问题? (当时:网页挂起,只清除浏览
- asp.net-mvc-3 – 实体框架乐观并发异常未发生
- ASP.NET MVC输出缓存为多应用程序,因主机名和文化而异
- asp.net-mvc – asp.net mvc中的动态子域
- 使用Ajax更新ASP.Net MVC项目中的报表对象方法
- asp.net-mvc – 如何在升级到ASP.NET MVC 5和Web API 2后解
- 资源-DotNet-站点:DotNet 站点列表
- 在哪里可以获得有关使用MVC / ASP.NET启动C#编程的一些信息
- asp.net-mvc – 如何在Kendo UI菜单上的多个组之
- 如何在codenameone中使用ASP.Net wsdl web服务
- asp.net – 指向同一页面的动作链接
- 在何处以及如何“缓存”ASP.NET角色数据
- 在ASP.NET中的Web.Config中模拟标签
- ASP.NET Base-64字符串中的字符无效
- asp.net-mvc-5 – 更改消息“密码必须至少包含一
- asp.net-core – ASP Core 2.0 app.UseJwtBearer
- asp.net – 使用DependencyResolver进行MVC 3的C
- 为什么这会考虑不好的做法?或者是吗? (ASP.Net