Hey X, vb.net is niet mijn taal maar toch heb ik geprobeerd op jouw verzoek het script in C#.NET te vertalen naar VB.NET het gaat om het sleutelwoord Shared (vb.net) of static (C#.net) in samen hang met het object Session hier een voorbeeld maar dan in vb.net:
Public Class WebForm1
Inherits System.Web.UI.Page
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' De eerste keer dat de Page_Load wordt aangeroepen is de Session("session") gelijk aan Nothing
' waardoor de classe B wordt aangeroepen, met daarbij de statische (Shared) Functie "setSharedValueInClassA"
' die op zijn beurt de statische waarde in de class A insteld
' Bij een volgende aanroep haalt hij de waarde niet op vanuit de class A maar vanuit de Session
' doordat we gebruik maken van het Session object blijft deze bestaan in het geheugen van de server
' tot het moment dat de bezoeker zijn browser verlaat, in dat geval wordt de garbage collector aan het
' werk gezet om alle variable welke zijn aangemaakt in de sessie van de bezoeker op te ruimen.
' Ik heb gebruik gemaakt van 2 webcontrols namelijk een Label en een Button
' Bij de eerste Page_Load krijgt de Label de tekst vanuit de waarde van sValue in de classe A
' Na het drukken op de button, wordt in de btnTest_Click (onclick eventhandler) de waarde van
' sValue in classe A gewist, maar deze blijft bestaan in de session. Bij een volgende Page_Load ziet
' hij dat de Session("session") niet gelijk is aan Nothing zodoende haalt hij de waarde uit deze sessie
' Leuk om te weten is dat een Session niet afhankelijk is van een classe, elke classe kan opgeslagen waardes
' via Session() ophalen en verder gebruiken, ik hoop dat het een beetje duidelijk overkomt
If Session("session") <> Nothing Then
TestLabel.Text = Session("session")
Else
B.setSharedValueInClassA("Dit is een test")
TestLabel.Text = A.sValue
Session("session") = A.sValue
End If
End Sub
Private Sub btnTest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTest.Click
A.sValue = Nothing
TestLabel.Text = Session("session")
End Sub
End Class
Public Class A
Public Shared sValue As String
Public Shared Function testIt() As String
Return sValue
End Function
Public Shared Sub F()
End Sub
End Class
Public Class B
Shared Function setSharedValueInClassA(ByVal s As String)
A.sValue = s
End Function
End Class
:thumb: