Puoi risolvere usando una variabile di sessione.
Molto probabilmente la tua pagina che contiene il frameset è statica ed è normale che aggiornando con F5 essendo ricaricata ti ripropone le pagine iniziali. Quello che devi fare è renderla dinamica.
Putroppo gestire i frame non è sempre facile, ma con un po' di pazienza riuscirai a far funzionare tutto. Ti faccio vedere il codice che uso io nella mia pagina che contiene il frameset:
frameset.asp
<html>
<head>
</head>
<%
pagina = Session("pagina")
if pagina = "" then
pagina = "principale.asp"
end if
End Sub
</script>
<frameset framespacing="0" border="0" cols="200,0,*" frameborder="0">
<frame name="menu" scrolling="no" target="principale" src="menu.asp" noresize>
<frame name="principale" src="<%=pagina%>" noresize>
</frameset>
<noframes>
<body>
<p>La pagina corrente utilizza i frame. Questa caratteristica non è
supportata dal browser in uso.</p>
</body>
</noframes>
</frameset>
</html>
la riga "interessante" è questa:
<frame name="principale" src="<%=pagina%>" noresize>
vedi che l'src del frame principale è dinamico? Se guardi anche quel poco di codice asp che c'è vedrai che assume il valore di Session("pagina"). Se questa variabile è vuota, verrà mostrata la pagina principale.
All'inizio di ognuna delle tue pagine che andranno a visulizzarsi nel frame principale, mettici questa linea di codice.
<%Session("pagina") = Request.ServerVariables("SCRIPT_NAME")%>
in questo modo Session("pagina") viene valorizzata con il percorso della pagina che si sta visualizzando attualmente.
Al riavvio con F5 ti verrà servita l'ultima pagina visualizzata.
Se oltre al percorso vuoi tener traccia anche dei dati che avevi passato per querystring, fai:
<%Session("pagina") = Request.ServerVariables("SCRIPT_NAME") & "?" & Request.QueryString%>
se non ti funziona fai un'altro post, probabilmente ho sbagliato a scrivere qualcosa.
Comunque come tecnica funziona, lo sto usando da qualche tempo.
ciao
Modificato da BrightSoul il 13 gennaio 2004 15.45 -