2012-07-10 63 views
1

我创建了一个应用程序变量在我的Global.asax.cs文件,下面的代码: -如何从aspx页面访问httpapplicationcontext变量?

protected void Application_Start(Object sender, EventArgs e) 
{  
    Application["Visitors"] = 0; 
} 

protected void Session_Start(Object sender, EventArgs e) 
{ 
    Application.Lock(); 
    Application["Visitors"] = Convert.ToInt32(Application["Visitors"]) + 1; 
    Application.UnLock(); 
} 

protected void Session_End(Object sender, EventArgs e) 
{ 
    Application["Visitors"] = Convert.ToInt32(Application["Visitors"]) - 1; 
} 

现在,我想在我的经典的aspx页面使用该Application["Visitor"]变量。我为此写了下面的代码,但它给我错误: -

Sub window_onLoad() 

    dim i 
    i= Application["Visitors"].ToString() 

End sub 

你能帮我在不同的aspx页面上使用这个变量吗?

+0

你得到了什么错误,请分享。 – 2012-07-10 09:22:10

+0

Microsoft VBScript运行时错误:类型不匹配:'应用程序' – 2012-07-10 09:38:57

回答

2

如果使用vb.net,使用必须使用()括号而不是[]:

Sub window_onLoad() 
dim i 
i= Application("Visitors").ToString() 
End sub 
+0

实现您建议的更改后,我得到下面的错误:-Microsoft VBScript运行时错误:类型不匹配:'应用程序' – 2012-07-10 09:39:43

0

你试图让服务器端在客户端的VB脚本Application值?是这样吗?比我认为这是不可能的,你将不得不在服务器端代码中执行它。

+0

是的我试图让服务器端应用程序值客户端IDE VB脚本。所以你的意思是在任何情况下我都必须创建一个独立的变量? – 2012-07-10 10:10:47

+0

在服务器端代码中,从应用程序变量中获取值并将它们分配给一些隐藏字段,并且在VB脚本中使用来自隐藏字段的值。 – 2012-07-10 12:26:26