【问题标题】:How to use app_GlobalResource or app_LocalResource?如何使用 app_GlobalResource 或 app_LocalResource?
【发布时间】:2010-07-07 10:50:02
【问题描述】:

如何在 ASP.NET Web 应用程序项目中使用它们?有什么区别吗?

非常感谢

【问题讨论】:

    标签: asp.net localization web-application-project app-globalresources


    【解决方案1】:

    本地资源:

    1. 本地资源特定于单个网页,用于提供不同语言的网页版本。
    2. 本地资源必须存放在 App_LocalResources 子文件夹中。
    3. 本地资源必须以 [.language / language andculture].resx 格式命名。

    例如:Default.aspx.resx- 基础资源文件。这是默认或备用资源文件。

    Default.aspx.de.resx- 德语等资源文件

    全球资源:

    Global Resources Localization Suggestion for ASP.NET

    1. 可以从应用程序中的任何页面或代码中读取全局资源。
    2. 全局资源必须存储在应用程序根目录的 App_GlobalResources 中。

      // Get the global resource string. 
      
       try
       { 
           globalresourcestring = (String)GetGlobalResourceObject("MyResource", "GlobalResourceString1"); 
       } 
       catch
       { 
           globalresourcestring = "Could not find global resource."; 
       }
      

    【讨论】:

    • 如何从c#调用全局资源?
    • tnks parany,我也用过这种方式:Resources.GeneralMessages.msg 其中msg 是该资源的名称。
    • 短符号:globalresourcestring = GetGlobalResourceObject("MyResource", "GlobalResourceString1") as string ?? "找不到全局资源。";
    【解决方案2】:

    这些是 ASP.NET MVC 5 Web 应用程序的步骤

    1. 右键单击解决方案名称。
    2. 添加 > 添加 ASP.Net 文件夹 > App_LocalResources
    3. 文件应该打开。添加内容。 (名称/值)
    4. 找到 .resx 文件顶部的访问修饰符并将其更改为 Public 并保存文件。
    5. 右键单击选择的 .resx 文件并选择属性。
    6. 将构建操作从内容更改为嵌入式资源。
    7. 打开解决方案资源管理器并展开 Views 文件夹。
    8. 打开 web.config 文件。
    9. 将新的命名空间添加到命名空间部分。

    例如。 <add namespace="ProjectName.App_LocalResources" />

    为了在您的 html 代码中访问本地资源文件,您必须 添加

    @using ProjectName.App_LocalResources
    

    到页面顶部。

    然后您可以访问 App_LocalResources 中的不同资源 通过使用

    @NameOfResxFile.NameOfValueInResxFile
    

    我希望这会有所帮助。

    【讨论】:

    • 如何使用模型中的资源?
    【解决方案3】:

    如果您非常确定您的资源存在于您的 .resx 文件中,您可以尝试:

    string myValue = HttpContext.GetGlobalResourceObject("MyResourceFile","MyResource").ToString();
    

    如果您不确定您的资源是否存在,您可以使用:

    var resultMessage = HttpContext.GetGlobalResourceObject("MyResourceFile","MyResource");
    
    string myValue = resultMessage == null ? string.Empty : resultMessage.ToString();
    

    【讨论】:

      猜你喜欢
      • 2012-10-12
      • 2013-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多