- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- Gestione Frame (aiuto)
-
Gestione Frame (aiuto)
il mio problema è molto semplice ,ho una pagina che contiene 2 frame.
... </head> <frameset cols="5%,*" frameborder="NO" border="0" framespacing="0" rows="*"> <frame name="MusicFrame" src="pages/Music.aspx"> <frame name="SiteFrame" src="pages/Home.aspx"> </frameset> <body id="bodya" runat="server"> </body> </html>
Nel secondo frame(siteframe) ho una pagina aspx che al clik di un pulsante va a cambiarmi il contenuto del primo frame. Per fare questo uso questo metodo:
Partial Class _Home Inherits System.Web.UI.Page Dim bodya As New HtmlGenericControl ........ Protected Sub Ibt_AudioOFF_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles Ibt_AudioOFF.Click 'così body.Attributes.Add("onload", "top.Frames(0).location.href='../pages/NoMusic.aspx'") 'Oppure body.Attributes.Add("onload", "window.parent.Frames(0).location.href='../pages/NoMusic.aspx'") End Sub
Così facendo semplicemente non funziona ,non succede nulla ,ne errore ne niente. Cosa non va proprio non lo capisco.
Ovviamente voglio usare questo metodo o simili perchè la pagina da cambiare nel frame cambia in base alla dinamicità della pagina che è stata già interamente scritta in vb.net
Giusto per la cronaca se scrivo questo nel codice html della pagina contenuta nel secondo frame tutto funziona alla perfezione ,solo che non è dinamica.<INPUT TYPE="BUTTON" NAME="CMD2" VALUE="NAVIGATE"> <SCRIPT LANGUAGE=VBSCRIPT> <!-- SUB CMD2_ONCLICK() WINDOW.PARENT.FRAMES(0).LOCATION.HREF="NoMusic.aspx" END SUB --> </SCRIPT>
Perdonate la mia scarsa conoscenza o forse l'errore madornale ,ma non so più che pesci pigliare ed il cliente mi sta stressando che vuole la soluzione funzionante.
Grazie a tutti.
-
rilancio la discussione, ho lo stesso problema
-
Ciao, non usare frame. Trova un'altra soluzione.
-
@cali1981 said:
Ciao, non usare frame. Trova un'altra soluzione.
scrivo qui,
ma come faccio a non usare i frame ?
io voglio una parte della pagina con i comandi
ed un altra dove ci carico quello che voglio
-
io ho risolto per ora cosi'
Response.Write "<script language='javascript'>"
Response.Write "parent.left.location = '" & adr &"';" 'adr variabile con l'indirizzo
Response.Write "</script>"cioe' ASP chiama javascript
pero' e' un po una pezza, mi sembra strano che ASP non gestisca queste cose
-
scusate posso fare variabili globali, cioe' indipendenti dal frame
es. ho tre frame
left ==> uno.asp
center ==> due.asp
right ==> tre.asp
le variabili dichiarate in uno.asp possono essere visibili in due.asp ?se no come faccio a fare un programma con un solo frame
ma con la pagina divisa in piu' parti ?grazie
-
Ciao, le variabili non sono visibili tra le diverse pagine, ma puoi usare la session
-
@cali1981 said:
Ciao, le variabili non sono visibili tra le diverse pagine, ma puoi usare la session
OK
ho risolto cosi
Session("id_cliente") = rs.fields("id")
Session("ragione_sociale") = rs.fields("ragione_sociale")
Session("indirizzo") = rs.fields("indirizzo")
e in un altro file .ASP
response.write Session("ragione_sociale")ogni client ha la sua variabile id_cliente
posso usare anche Application in questo caso la variabile e' condivisa tra i client perche e' situata nel server
ma la domanda che faccio ora e' posso fare strutture tipo record, array, tabelle, liste, classi di oggetti da condividere tra differenti frame ?
-
penso si possano mettere anche quelle in sessione, ma non so quanto ti convenga incasinarla così tanto