Удалите эти 2 строки из IF
currentDirectory.Value = Session("tempDir").ToString
CopySession.Text = currentDirectory.Value
будет
If Page.IsPostBack Then
If Session("tempDir") Is Nothing Then
Dim tempDir As String
tempDir = Path.GetRandomFileName()
tempDir = tempDir.Substring(0, tempDir.LastIndexOf("."))
IO.Directory.CreateDirectory(Server.MapPath("Uploads/" & tempDir))
IO.Directory.CreateDirectory(Server.MapPath("Downloads/" & tempDir))
Session.Add("tempDir", tempDir)
End If
currentDirectory.Value = Session("tempDir").ToString
CopySession.Text = currentDirectory.Value
End If
Чем отличается то, что если сеанса не существует, тогда иди и установи его. После того, как сеанс для tempDir существует, потому что ether вы просто устанавливаете, ether получает его от предыдущего или другого вызова. Я надеюсь, что это даст вам то, что вам интересно, или же скажите мне, что вы не понимаете.
Session
Сеанс представляет собой Словарь значений, который связан с каждым пользователем в течение времени, когда сеанс активен (например, в течение 20 минут). Когда пользователь взаимодействует с сайтом, эти данные следуют за этим пользователем, и вы можете установить их, прочитать их или удалить их, используя сеанс.
Когда страница загружает данные сеанса, прочитанные в начале, вы можете использовать их на странице, а на странице выгрузить данные сеанса, сохраненные обратно в держатель сеанса.