2009-08-11 16 views
0

Ich habe PageA mit einigen Steuerelementen (txtFooBar) darauf und eine Schaltfläche mit PostBackUrl auf SeiteB festgelegt.CrosspagePostBack mit Formularauthentifizierung

In SeiteB kann ich

Page.PreviousPage.FindControl("txtFooBar") 

schreiben und meine Werte erhalten.

Nun nehme ich an, dass ich die Formularauthentifizierung verwende, PageB ist geschützt und ich bin nicht angemeldet. Wenn ich den Knopf auf der Seite A drücke, gehe ich zur Anmeldeseite und gehe zu PageB, sobald ich eingeloggt bin .

Jetzt ist Page.PreviousPage null.

Gibt es eine Möglichkeit, die Werte von PageA zu bekommen? Ich versuche zu vermeiden, das Session-Objekt zu verwenden, um hier den Status zu verwalten, da ich die Anwendung für eine hohe Skalierbarkeit benötige und lieber die Sitzungsaffinität vermeiden würde.

Antwort

2

Es wird durch Umleitung von der Anmeldeseite verursacht, während PreviousPage nur über POST unterstützt wird. So bewerten folgende Möglichkeiten:

  • auf der Seite A inplace Anmeldekontrolle erstellen, so Benutzer ohne eingeloggt sein könnte umleiten
  • Ihr eigenes Login-Formular erstellen, dass anstelle der Umleitung verwendet Server.Transfer zu pageB (Anmerkung dass zur Authentifizierung nur Benutzer FormsAuthentication.SetAuthCookie benötigt wird)
Verwandte Themen