gpt4 book ai didi

asp.net - 用户控件不读取资源文件...在 WebForms .NET 上正确组织资源文件?

转载 作者:行者123 更新时间:2023-12-04 06:16:27 24 4
gpt4 key购买 nike

我现在正在处理一个项目,该项目的根文件夹中有 aspx 文件,还有一个名为“UserControls”的文件夹,其中包含所有 ascx 文件。我必须对其进行本地化,因此我将 App_GlobalResources 和 App_LocalResources 用于资源文件。但是,我遇到了用户控件的问题,因为它们没有读取各自的资源文件。我开始进行一些测试,我意识到如果它们被放置在各自包含文件夹中的 App_LocalResources 子文件夹中,而不是在根文件夹中,它们只会读取资源文件。由于我有太多带有用户控件的子目录,我不想将每个本地资源文件放在其主要包含文件夹中。它只是没有意义。有人有一些想法吗?提前致谢。

最佳答案

如果不查看您的项目文件,我会猜测未从根 App_LocalResources 文件夹读取资源的页面是文件名与另一个页面冲突的页面。例如。如果您有/cart/Default.aspx 和/myaccount/Default.aspx,那么 ASP.NET 将不知道哪一个匹配/App_LocalResources/Default.aspx.resx。这就是为什么它要求这些页面的资源文件位于它们自己的子文件夹中:使它们匹配哪个页面一目了然。

我想如果你想避免这种情况,你有三个选择:

  • 将所有内容更改为全局资源。只要您确保资源名称组织良好并且它们适用于哪个页面,这还不错。
  • 将页面文件名更改为唯一。这非常难看,因为它可能会破坏应用程序中的重定向以及 SEO。
  • 不要使用 ASP.NET 资源进行本地化,推出您自己的解决方案。说真的,资源是 ASP.NET 中许多不错的、看似有用的功能之一(另请参阅主题、移动支持、角色),根据我的经验,这些功能不能很好地扩展到更大的项目,最好忽略以支持自定义解决方案.例如,如果您的 ASP.NET 应用程序调用需要返回本地化文本的中间层 DLL,会发生什么情况?在这种情况下,拥有自己的较低级别的资源本地化系统要好得多。
  • 关于asp.net - 用户控件不读取资源文件...在 WebForms .NET 上正确组织资源文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7180406/

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