4

Я создал два файла в папке App_GlobalResources:HttpContext.GetGlobalResourceObject всегда возвращает нуль

SiteResources.en-US.resx 
SiteResources.sp-SP.resx 

Оба содержат значение для «SiteTitleSeparator».

Вот что я пытаюсь сделать (Следующая строка всегда возвращает нуль):

string sep = (string)GetGlobalResourceObject("SiteResources", "SiteTitle"); 

Обратите внимание, что свойство культуры на странице установлен.

Ответы как на VB, так и на C# будут приветствоваться.

+0

Обратите внимание, что на странице установлено свойство Culture. ---------------------------------------------- Как вы установить культуру? У меня есть Resources.resx и Resources.fr-CA.resx, но когда я читаю ресурсы, он всегда возвращает значение по умолчанию Resource.resx ... Thread.CurrentThread.CurrentCulture = new CultureInfo ("fr-CA") ; labUsername.Text = GetGlobalResourceObject ("Ресурс", "Имя пользователя"). ToString() + ":"; Этот код не будет читать Resources.fr-CA ... Спасибо – philberg

+1

Эй, филберг, я считаю, что для значений .resx, которые нужно использовать, вы должны установить CurrentUICulture, а не CurrentCulture. – Robba

ответ

8

Я изменил имя SiteResources.en-US.resx на SiteResources.resx, и теперь все работает отлично.

Кажется, что это должен быть один инвариантный ресурс.

1

Да: должен быть один .resx без кода региона, который будет использоваться по умолчанию.

Смежные вопросы