36

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

非常感谢

4

3 回答 3

31

本地资源:

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

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

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

全球资源:

ASP.NET全球资源本地化建议

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

    // Get the global resource string. 
    
     try
     { 
         globalresourcestring = (String)GetGlobalResourceObject("MyResource", "GlobalResourceString1"); 
     } 
     catch
     { 
         globalresourcestring = "Could not find global resource."; 
     }
    
于 2010-07-07T10:56:57.107 回答
8

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

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

前任。 <add namespace="ProjectName.App_LocalResources" />

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

@using ProjectName.App_LocalResources

到页面顶部。

然后,您可以使用 App_LocalResources 访问不同的资源

@NameOfResxFile.NameOfValueInResxFile

我希望这有帮助。

于 2014-01-19T06:47:09.090 回答
1

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

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

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

var resultMessage = HttpContext.GetGlobalResourceObject("MyResourceFile","MyResource");

string myValue = resultMessage == null ? string.Empty : resultMessage.ToString();
于 2017-01-20T11:48:41.797 回答