2012-07-10 50 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