2012-01-26 64 views
0

“全球”这个名字并不在当前的背景下如何从.aspx页面引用Global.asax中的属性?

我越来越想引用我在Global.asax中创建一个属性当上述错误存在:

public static String ThemeColor 
{ get; set; } 

从C#aspx页面上(输出一些JavaScript):

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

任何想法,为什么?

+0

您可能需要在Global的前面定义它的名称空间。 –

+5

你确定'Global.asax'文件是最好的地方吗? – everton

+0

我认为JavaScript运行在客户端,而不是服务器,所以我要做的是做一个隐形的控制,并将其Text属性设置为“主题颜色”,我可以从javascript中访问它 –

回答

5

有几个选项:

  • 类的名字是不是Global,也许你变了吗?
  • 你缺少的命名空间

您的using真的不应该使用Global.asax处理主题颜色。
css似乎是它一个更合适的地方......

0

你为什么不进行单独的类themeColor相关的和在Global.asax的应用程序启动时设置themeColor相关的东西。

0

如果你在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

相关问题