Как использовать app_GlobalResource или app_LocalResource?

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

огромное спасибо


person Afshar Mohebi    schedule 07.07.2010    source источник


Ответы (3)


Местные ресурсы:

  1. Локальный ресурс специфичен для одной веб-страницы и используется для предоставления версий веб-страницы на разных языках.
  2. Локальные ресурсы должны храниться в подпапке App_LocalResources.
  3. Локальные ресурсы должны быть названы в формате [.language/language and culture].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."; 
     }
    
person Pranay Rana    schedule 07.07.2010
comment
как вызвать глобальный ресурс из С#? - person Afshar Mohebi; 07.07.2010
comment
tnks parany, я тоже использовал таким образом: Resources.GeneralMessages.msg где msg имя этого ресурса. - person Afshar Mohebi; 07.07.2010
comment
Более короткая запись: globalresourcestring = GetGlobalResourceObject(MyResource, GlobalResourceString1) как строка ?? Не удалось найти глобальный ресурс.; - person Louis Somers; 18.06.2012

Это шаги для веб-приложения 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

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

person ProgrammerPlus    schedule 19.01.2014
comment
как я могу использовать ресурсы в модели? - person Mauricio Gracia Gutierrez; 22.06.2015

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

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

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

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

string myValue = resultMessage == null ? string.Empty : resultMessage.ToString();
person Mehdi Souregi    schedule 20.01.2017