09. marts 2003 - 13:34
Der er
19 kommentarer og 3 løsninger
Gå tilbage til sidste side
Jeg har lavet et login system på min side, og når brugeren er blevet logget ind, ønsker jeg at han bliver sendt tilbage til den side han kom fra. Altså ligesom Tilbage knappen i Internet Explore Hvordan kan jeg lige gøre det ?
Annonceindlæg fra Barco
09. marts 2003 - 13:35
#1
Via java script: <script>location.href="java script:history.back(-1)"</script>
09. marts 2003 - 13:36
#2
finder der ikke noget i C# der kan gøre det samme ?
Slettet bruger
09. marts 2003 - 13:36
#3
Jeg kan ikke asp men mon ikke de kan blandes sammen? :0) <script language="Javascript">location.href='<%=Request.ServerVariables("HTTP_REFERER")%>'</script>
09. marts 2003 - 13:38
#4
Jeg bruger nemlig codebehind, så jeg ved ikke lige hvor jeg skulle placere det javascript
Slettet bruger
09. marts 2003 - 13:39
#5
jeg står af.. aner ikke hvad asp.net eller codebehind er :D
09. marts 2003 - 13:43
#6
Send siden brugeren var på, med til Login, som en variabel. Når brugeren er logget ind : send tilbage til variabel... Eks: Brugeren er her: side1.aspx link til login: login.aspx?page=side1.aspx Når logget ind: Response.redirect(Request.QueryString("page")) Det er en måde at gøre det på.. I øjeblikket er jeg ved at kigge på at bruge "Authorization" i Web.config. Har fået det til at virke lidt, dog kan jeg kun se om brugeren er "ok" eller ej.. ikke hvilken bruger det er..(Men det kommer nok) /Weje
09. marts 2003 - 13:59
#8
Øhh, har et mindre problem, hvis jeg skal bruge login.aspx?page=side1.aspx For jeg aner ikke hvad side1.aspx er, da linket til login ligger i en header user control, som findes på alle mine sider.
09. marts 2003 - 14:10
#9
guidmaster har lige forsøgt mig med FormsAuthentication.RedirectFromLoginPage(Email, False) men den smider mig bare tilbage til min startside. Nogen forslag ?
09. marts 2003 - 15:45
#10
Virker dette: Response.Redirect(Request.ServerVariables["HTTP_REFERER"].ToString());
09. marts 2003 - 15:56
#11
nope, det opdatere bare den side man befinder sig på
09. marts 2003 - 19:32
#12
Er der ikke andre der har et forslag ?
09. marts 2003 - 21:19
#13
Response.Redirect(Request.UrlReferrer.Tostring)
09. marts 2003 - 22:06
#14
Hmm, forstår det ikke helt, viser mig også bare tilbage på den side jeg allerede befandt mig på. Har lige øget point, håber det hjælper :-)
09. marts 2003 - 22:27
#15
Tror jeg har fundet dit problem.. i hvert fald Request.UrlReferrer.Tostring bliver sat til den side du er på efter et postback. men problemmet er jo så bare ikk større end at du skal hive fat i siden i det du loader den. eks. <%@ Page Language="vb" %> <script runat="server"> dim Lastpage as string sub page_load(obj as object, e as eventargs) if not ispostback then LastPage = Request.UrlReferrer.Tostring end if end sub sub login(obj ...... ) bla bla bla hvad du nu end laver. response.redirect(LastPage) end sub </script>
09. marts 2003 - 22:37
#16
Hvis jeg gør det sådan her, kommer jeg ikke ind i if sætningen private void Page_Load(object sender, System.EventArgs e) { if(!this.IsPostBack) { url = Request.UrlReferrer.ToString(); } } Men har forsøgt mig med noget i samme stil
09. marts 2003 - 22:48
#17
Hmm, ved hjælp at en gang debug kan jeg se at mit problem opstår fordi når jeg har trykket på min login knap loades hele siden igen. Ved ikke helt hvorfor det sker, men her her hele min kode til login knappen private void Submit_Click(object sender, System.EventArgs e) { VBJPrincipal newUser = VBJPrincipal.ValidateLogin( EmailAdresse.Text, Kodeord.Text ); if (newUser == null) { LoginResult.Text = "Login mislykkes for " + EmailAdresse.Text; LoginResult.Visible = true; } else { Context.User = newUser; FormsAuthentication.SetAuthCookie( EmailAdresse.Text, true ); Response.Redirect(TextBox1.Text); } } private void Page_Load(object sender, System.EventArgs e) { TextBox1.Text = Request.UrlReferrer.ToString(); }
09. marts 2003 - 22:53
#18
Det her virker i hvert fald. <%@ Page Language="C#" %> <script runat="server"> private void Page_Load(Object Sender, EventArgs E){ if(!IsPostBack){ Url.Value = Request.UrlReferrer.ToString(); } } private void Click(Object Sender, EventArgs E){ Response.Redirect(Url.Value); } </script> <html> <body id=body runat="server"> <form runat=server name="form" id="form"> <input type="hidden" runat="server" id="Url" /> <asp:linkbutton text="click" runat=server onclick="Click" /> </form> </body> </html>
09. marts 2003 - 22:55
#19
Prøvede selv lige at lave det med en string men den blev sat til "" efter postback :/. Har derfor brugt et hidden field istedet for.
09. marts 2003 - 23:15
#20
Det nægter simpelthen at virker, men prøver at kigge på det igen imorgen.
09. marts 2003 - 23:16
#21
Smid <input type="hidden" runat="server" id="Url" /> ind i din html. private void Submit_Click(object sender, System.EventArgs e) { VBJPrincipal newUser = VBJPrincipal.ValidateLogin( EmailAdresse.Text, Kodeord.Text ); if (newUser == null) { LoginResult.Text = "Login mislykkes for " + EmailAdresse.Text; LoginResult.Visible = true; } else { Context.User = newUser; FormsAuthentication.SetAuthCookie( EmailAdresse.Text, true ); Response.Redirect(Url.Value); } } private void Page_Load(object sender, System.EventArgs e) { if(!IsPostBack){ Url.Value = Request.UrlReferrer.ToString(); } }
10. marts 2003 - 14:42
#22
Så lykkes det endelig, skulle bare bruge det kode du havde lavet -psycho- Takker
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.