04. juni 2004 - 15:44Der er
19 kommentarer og 1 løsning
Page_Load problemer
Hvorfor viker følgende ikke i Page_Load metoden:
private void Page_Load(object sender, System.EventArgs e) { if (User.Identity.IsAuthenticated) LoginDiv.InnerHtml = "Du er logget ind som svin" + User.Identity.Name; }
metoden der logger folk ind hedder er her: private void Button1_Click(object sender, System.EventArgs e) { if (FormsAuthentication.Authenticate(TextBox1.Text, TextBox2.Text)) FormsAuthentication.SetAuthCookie(TextBox1.Text, false); }
Har du de 2 metoder (load og click) på samme side? Når man trykker på din knap, vil metoderne begge 2 blive kaldt. Først Page_load og derefter Button1_Click. Derfor er du ikke endnu ikke blevet godkendt når page_load foretager IsAuthenticated-checket i. Men det virker sikkert hvis du trykker 2 gange...
hvis jeg logger ind 2 gange melder den en Null fejl anden gang... men jeg kan se at jeg er logget ind efter første klik, men if løkken bliver ikke kaldt i page_load efter jeg har trykket på login-knappen.
hmmm, jeg har lige opdaget hvis jeg refresher (F5) siden efter jeg har logget ind (1.gang), så går den i løkken... er det browseren der ikke gen-indlæser siden så? og hvorfor? jeg kan jo regne ud af den laver postback som den skal, når jeg nu efter et tryk på F5 kan se at jeg er logget ind.
popupvindue er da en meget fiks måde... hvis du ABSOLUT vil have det på samme side, så sæt en Response.Redirect("dinside.aspx") ind i slutningen af din Button1_Click
nu ser min loginknap sådan ud: private void LoginButton_Click(object sender, System.EventArgs e) { if (FormsAuthentication.Authenticate(UsernameBox.Text, PasswordBox.Text)) FormsAuthentication.RedirectFromLoginPage(UsernameBox.Text, false); else StatusLabel.Text = "Forkert brugernavn eller password"; }
Men går der ikke ged i den hvis jeg laver login-vinduet til et popup vindue? jeg tænker her på "FormsAuthentication.RedirectFromLoginPage(UsernameBox.Text, false);" metoden, vil den ikke redirecte i popup vinduet istedet??
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.