Avatar billede gulbaek Nybegynder
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 ?
Avatar billede ahv Nybegynder
09. marts 2003 - 13:35 #1
Via java script:

<script>location.href="java script:history.back(-1)"</script>
Avatar billede gulbaek Nybegynder
09. marts 2003 - 13:36 #2
finder der ikke noget i C# der kan gøre det samme ?
Avatar billede 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>
Avatar billede gulbaek Nybegynder
09. marts 2003 - 13:38 #4
Jeg bruger nemlig codebehind, så jeg ved ikke lige hvor jeg skulle placere det javascript
Avatar billede Slettet bruger
09. marts 2003 - 13:39 #5
jeg står af.. aner ikke hvad asp.net eller codebehind er :D
Avatar billede weje Nybegynder
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
Avatar billede guidmaster Nybegynder
09. marts 2003 - 13:57 #7
Prøv at læse dette lille indlæg: http://www.dotnetforum.dk/forum/showpost.aspx?PostID=72
hvis du gør brug af denne metode vil dine brugere automatisk blive redigeret tilbage til siden de kom fra.
Avatar billede gulbaek Nybegynder
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.
Avatar billede gulbaek Nybegynder
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 ?
Avatar billede askhoej Praktikant
09. marts 2003 - 15:45 #10
Virker dette:

Response.Redirect(Request.ServerVariables["HTTP_REFERER"].ToString());
Avatar billede gulbaek Nybegynder
09. marts 2003 - 15:56 #11
nope, det opdatere bare den side man befinder sig på
Avatar billede gulbaek Nybegynder
09. marts 2003 - 19:32 #12
Er der ikke andre der har et forslag ?
Avatar billede -psycho- Nybegynder
09. marts 2003 - 21:19 #13
Response.Redirect(Request.UrlReferrer.Tostring)
Avatar billede gulbaek Nybegynder
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 :-)
Avatar billede -psycho- Nybegynder
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>
Avatar billede gulbaek Nybegynder
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
Avatar billede gulbaek Nybegynder
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();
        }
Avatar billede -psycho- Nybegynder
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>
Avatar billede -psycho- Nybegynder
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.
Avatar billede gulbaek Nybegynder
09. marts 2003 - 23:15 #20
Det nægter simpelthen at virker, men prøver at kigge på det igen imorgen.
Avatar billede -psycho- Nybegynder
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();
  }       
}
Avatar billede gulbaek Nybegynder
10. marts 2003 - 14:42 #22
Så lykkes det endelig, skulle bare bruge det kode du havde lavet -psycho-
Takker
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester