Как мне ссылаться на свойство в Global.asax со страницы .aspx? - PullRequest
0 голосов
/ 26 января 2012

Имя «Глобальный» не существует в текущем контексте

При попытке сослаться на свойство, созданное в Global.asax, я получаю вышеуказанную ошибку:

public static String ThemeColor
{ get; set; }

из C # на странице aspx (вывод некоторого JavaScript):

alert("<%=Global.ThemeColor %>");

Есть идеи, почему?

Ответы [ 3 ]

5 голосов
/ 26 января 2012

Несколько вариантов:

  • Имя класса не Global, может быть, вы его изменили?
  • Вам не хватает using пространства имен

Вы действительно не должны использовать Global.asax для обработки цвета темы.
css представляется более подходящим местом для этого ...

0 голосов
/ 26 января 2012

Если вы помещаете такие значения в Global.asax, вам нужен врач.

Создайте класс с именем «GlobalSiteValues» или что-то еще. Убедитесь, что пространство имен, в котором оно находится, совпадает со страницей aspx или зарегистрировано в web.config (или не существует, или использует полное имя).

Тогда это будет работать (очевидно, после того, как вы установили значение)

public class GlobalSiteValues
{
    public static string MyString{ get;set }
    public static int MyInt{ get;set; }
}

... и на странице aspx (в блоке скрипта) ...

var abc = "<%= GlobalSiteValues.MyString %>";
alert(abc);

Или почему бы не настроить "класс контекста" для вашего сайта. Как HttpContext.Current?

0 голосов
/ 26 января 2012

Почему бы вам не сделать отдельный класс темы-цвета, а на событии запуска приложения в global.asax установить цвет темы на что-нибудь.

...