我正在开发一个项目,它在根文件夹中有一个aspx文件,另一个名为“UserControls”的文件夹包含所有的ascx文件。我必须本地化它,所以我使用App_GlobalResources和App_LocalResources作为资源文件。但是,我遇到了用户控件的问题,因为他们没有阅读各自的资源文件。我开始做一些测试,我意识到如果它们放在各自包含文件夹内的App_LocalResources子文件夹而不是根文件夹中,它们只会读取资源文件。由于我有太多带有用户控件的子目录,我不想将每个本地资源文件放在其主包含文件夹中。它没有意义。有想法的人吗?提前谢谢。
答案 0 :(得分:3)
在不查看项目文件的情况下,我猜不会从根App_LocalResources文件夹中读取资源的页面是其文件名与另一页面发生冲突的页面。例如。如果你有/cart/Default.aspx和/myaccount/Default.aspx,那么ASP.NET将不知道哪个匹配/App_LocalResources/Default.aspx.resx。这就是为什么它要求这些页面的资源文件在他们自己的子文件夹中:明确它们匹配的页面。
我想如果你想避免这种情况,你有三个选择:
答案 1 :(得分:0)
检查App_LocalResources
目录是否位于usercontrol的同一文件夹中。