Как использовать app_GlobalResource или app_LocalResource?
Как использовать их в проекте ASP.NET Web Application? Любая разница?
большое спасибо
Ответы
Ответ 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();