01. januar 2004 - 23:09Der er
6 kommentarer og 1 løsning
reload side fra asp
Jeg har en side hvor man kan redigere nogele records i en database, når man klikker for at redigere en record, fremkommer der et layer med en iframe inden i. i iframen kan brugeren redigere den valgte record.
Mit problem er at når oplysningerne er gemt, vil jeg gerne have at vinduet lukkes og den første side reloades. Men hvordan kan jeg gøre det.
Jeg kan i princippet nøjes med at reloade den første side, da vinduet derved automatisk forsvinder.
jeg ved ikke om du helt har forstået det rigtigt, så jeg prøver lige at forklare det på en bedre måde.
jeg har en fil der hedder nyheder.asp, i den fil bliver brugeren præsenteret for en liste over de nyheder der er. brugeren har mulighed forat slette eller redigere en nyhed. Hvis brugeren vælger at redigeren en nyhed åbner der sig et div layer midt på siden, hvori der er en i frame. i iframen loades edit.asp, som indeholder en form hvor brugeren kan rette oplysningerne. når formen submittes, kalder den sig selv (altså edit.asp). I toppen af edit.asp har jeg så et tjek på om formen er submittet, og hvis det er tilfeldet køres følgende kode:
If bolWasPosted Then Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&server.mappath("/db/edc.mdb") Conn.execute ("UPDATE DISTINCTROW b SET sted = '"& request.form("sted") &"', type = '"& request.form("type") &"',pris = '"& request.form("pris") &"', bID = "& request.form("bid") &" WHERE id = "& request("id") &";") conn.close set conn = nothing End if
Når denne kode er kørt vi ljeg så gerne have at nyheder.asp bliver reloadet, men hvordan starter jeg et javascript fra min asp kode? det ene er jo på serveren, og det andet er på clienten
Jeg er ikke helt sikker på at jeg har forstået det rigtigt, men prøv nedenstående efter at du har kørt din update kode: Response.Redirect "nyheder.asp"
Så vil den vist reloade nyheder.asp... Jeg er ikke helt sikker på hvad der sker når nu det er en I-frame
Som jeg har vist. Der hvor du vil havde din redirect skirvr du den kode jeg har vist. Ja det bliver så clienten som står for reload af siden, men ASP redirect kan ikke havde et target. Du skal rette 'NAVN_PÅ_FRAME' til navnet på den frame som skal loade siden nyheder.asp:
<% If bolWasPosted Then Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&server.mappath("/db/edc.mdb") Conn.execute ("UPDATE DISTINCTROW b SET sted = '"& request.form("sted") &"', type = '"& request.form("type") &"',pris = '"& request.form("pris") &"', bID = "& request.form("bid") &" WHERE id = "& request("id") &";") conn.close set conn = nothing End if %> <script type="text/javascript"> window.parent.frames['NAVN_PÅ_FRAME'].location.href = 'nyheder.asp'; </script>
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.