Grazie mille, provo il codice.

Avrei un'altra domanda... forse per te ovvia.
In una pagina ho un controllo immagine e un pulsante ImageButton1.
La prima volta, l'evento page_load riempie l'array l'array Files() e inizializza la var fileCurrent. Poi con il pulsante scorro le immagini.
Per fare questo ho bisogno di mantenere i valori dell'array Files() e della variabile fileCurrent.
Intuisco che con l'istruzione DIM azzero tutto... ma come si fà a mantenere i valori delle varibili?.
(Lo scopo è di riempire l'array una sola volta)


Public Class _Default

Inherits System.Web.UI.Page

' numero max di immagini per artista
Dim maxFiles = 200
Dim files(maxFiles) As String
Dim fileCurrent As Integer
Dim percorso = "Public/Gallerie/" & "Galleria_1"


Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim fs, file, nFiles


If IsPostBack Then
Exit Sub
End If

nFiles = 0

' percorso assoluto
Dim percorsoAssoluto = Server.MapPath(percorso)

fs = CreateObject("Scripting.FileSystemObject")
Dim fl = fs.GetFolder(percorsoAssoluto)
file = fl.Files

For Each fl In file
' Riempie l'array files con l'elenco dei files
If UCase(Right(fl.name, 3)) = "JPG" Then
files(nFiles) = files(nFiles) & fl.name
nFiles = nFiles + 1
End If
Next
If nFiles > 0 Then
fileCurrent = 0
Immagine.ImageUrl = "~/" & percorso & "/" & files(fileCurrent)
End If
End Sub

' next immagine
Protected Sub ImageButton1_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImageButton2.Click
If fileCurrent < maxFiles Then
fileCurrent = fileCurrent + 1
End If
Immagine.ImageUrl = "~/" & percorso & "/" & files(fileCurrent)
End Sub