Ok, ho risolto.
Se servisse a qualcuno, molto banalmente Request.Form è una collection di oggetti (e fin lì..).
A sua volta, anche Request.Form("nome_campo") è una collection.
Entrambe le collection menzionate sono 1 based (nel senso che si parte a contare da 1 e non da 0).
Da quest'esempio si capisce meglio:
codice:
<html>
<body>
<form method="POST">
<input type="textbox" name="tb" value="textbox1">
<input type="textbox" name="tb" value="textbox2">
<input type="textbox" name="tb" value="textbox3">
<input type="submit" name="sub" value="invia">
</form>
<%
Dim o, f, i
Response.Write ("Request.Form con ciclo 'for each':
")
for each f in Request.Form
Response.Write ("Oggetti: " & Request.Form(f).Count & "
")
i = 1
For each o in Request.Form(f)
Response.Write (f & "[" & i & "] = " & o & "
")
i = i +1
next 'o
next 'f
%>
</body>
</html>
questo per dire che un campo può essere "richiesto" sia con:
Request.Form("nome_campo")
sia con
Request.Form("nome_campo")(1)
(con la sola differenza che se nome_campo non è stato inviato viene ritornato un errore).
Per richiedere il campo che da valore textbox2, dunque, basta richiedere:
Request.Form("tb")(2)
boh, vabbé. chissene frega. spero sia utile a qualcuno!
Ciao,
Ale