Как использовать app_GlobalResource или app_LocalResource? - PullRequest
34 голосов
/ 07 июля 2010

Как использовать их в проекте веб-приложения ASP.NET?Какая разница?

большое спасибо

Ответы [ 3 ]

30 голосов
/ 07 июля 2010

Локальные ресурсы:

  1. Локальный ресурс относится только к одной веб-странице и используется для предоставления версий веб-страницы на разных языках.
  2. Локальные ресурсы должны храниться в подпапке App_LocalResources.
  3. Локальные ресурсы должны иметь имена в формате [.language / language and culture] .resx.

Ex: 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."; 
     }
    
6 голосов
/ 19 января 2014

Это шаги для веб-приложения ASP.NET MVC 5

  1. Щелкните правой кнопкой мыши имя решения.
  2. Добавить> Добавить папку ASP.Net> App_LocalResources
  3. Файл должен открыться.Добавить контент.(Имя / Значение)
  4. Найдите модификатор доступа в верхней части файла .resx, измените его на Общий и сохраните файл.
  5. Щелкните правой кнопкой мыши по выбранному файлу .resx и выберите свойства.
  6. Изменение действия сборки с содержимого на встроенный ресурс.
  7. Откройте обозреватель решений и разверните папку Views.
  8. Откройте файл web.config.
  9. Добавитьновое пространство имен в разделе пространств имен.

ex.<add namespace="ProjectName.App_LocalResources" />

Чтобы получить доступ к файлу локального ресурса в своем HTML-коде, вы должны добавить

@using ProjectName.App_LocalResources

в начало страницы.

Затем вы можете получить доступразличные ресурсы в App_LocalResources с помощью

@NameOfResxFile.NameOfValueInResxFile

Надеюсь, это поможет.

1 голос
/ 20 января 2017

Если вы уверены в том, что ваш ресурс существует в вашем файле .resx, вы можете попробовать:

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

Если вы не уверены, существует ли ваш ресурс или нет, вы можете использовать:1004 *

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

string myValue = resultMessage == null ? string.Empty : resultMessage.ToString();
...