Подтвердить что ты не робот

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

Как использовать их в проекте ASP.NET Web Application? Любая разница?

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

4b9b3361

Ответ 1

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

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

Ex: Default.aspx.resx- Файл базового ресурса. Это файл ресурсов по умолчанию или резервный файл.

Default.aspx.de.resx- Файл ресурсов для немецкого языка и т.д.

Глобальные ресурсы:

Предложение локализации глобальных ресурсов для ASP.NET

  • Глобальный ресурс может быть прочитан с любой страницы или кода, который находится в приложении.
  • Глобальный ресурс должен храниться в App_GlobalResources в корне приложения.

    //Получить строку глобального ресурса.

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

Ответ 2

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

  • Щелкните правой кнопкой мыши имя решения.
  • Добавить > Добавить папку ASP.Net > App_LocalResources
  • Файл должен открыться. Добавить контент. (Имя/Value)
  • Найдите модификатор доступа в верхней части файла .resx и измените его на общедоступный и сохраните файл.
  • Щелкните правой кнопкой мыши файл .resx и выберите свойства.
  • Изменить действие сборки из содержимого во встроенный ресурс.
  • Откройте "Исследователь" и разверните папку "Представления".
  • Откройте файл web.config.
  • Добавить новое пространство имен в раздел namespaces.

ех.   <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();