Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Probleme bei der Übergabe von Sessions-Variablen
Locust
myCSharp.de - Member



Dabei seit:
Beiträge: 21

Themenstarter:

Probleme bei der Übergabe von Sessions-Variablen

beantworten | zitieren | melden

Folgendes Problem:
Ich hab eine Seite mit verschiedenen Textfeldern und Dropdownlists als Suchseite.
Nachdem der Button "Suchen" gedrückt wird, öffnet sich mittels Javascript ein Popup mit dem Ergebnissen. Dazu übergebe ich die Suchbegriffe mittels Session Variablen an das Popup. Im Popupfenster gibt es einen "Schließen" Button, der die Übergebenen Variablen wieder leert und das Fenster schließt.
Das ganze funktioniert auch wunderbar - allerdings nur beim ersten mal.
Wenn ich im Popup den schließen Button benutzt habe, und dann wieder in meinem Ursprungsfenster neue Suchbegriffe eingebe, wird beim Klick auf Suche direkt das Popup aufgerufen, ohne vorher meine SessionFüllen() Methode aufzurufen.

Das Popup öffne ich über

btnBewerberSuche.Attributes.Add("onclick", "window.open('" + SiteMap.uri("uri_person_bewerberpopup")+ "', 'Bewerber', 'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=1,width=1150,height=810,left=60,top=60');");

wie erreiche ich, dass erst die SessionFüllen() Methode ausgeführt und erst dann das neue Fenster aufgeht?
Und wieso funktioniert das beim ersten Mal, und beim 2. Mal nicht?
Danke im Voraus!
private Nachricht | Beiträge des Benutzers
Peter Bucher
myCSharp.de - Experte

Avatar #jVxXe7MDBPAimxdX3em3.jpg


Dabei seit:
Beiträge: 5.940
Herkunft: Zentralschweiz

beantworten | zitieren | melden

Hallo Locust
Zitat
Original von Locust
Dazu übergebe ich die Suchbegriffe mittels Session Variablen an das Popup.
Eine Session ist dafür nicht von Nöten und hier falsch am Platz.
Gib die Werte gleich in der Url des Popups per GET Parameter mit.
Per Request.QueryString[<Key>] kannst du die Werte dann auslesen.

Entweder bearbeitest und speicherst du die Ergebnisse vom Popup direkt in der Popup Seite, oder du übergibst diese Werte bspw. per Javascript wieder an das öffnende Fenster, Stichwort: opener.
Zitat
Original von Locust
Wenn ich im Popup den schließen Button benutzt habe, und dann wieder in meinem Ursprungsfenster neue Suchbegriffe eingebe, wird beim Klick auf Suche direkt das Popup aufgerufen, ohne vorher meine SessionFüllen() Methode aufzurufen.

[...]

Und wieso funktioniert das beim ersten Mal, und beim 2. Mal nicht?
Weil du beim Klick auf den Button nur ein clientseitiges Event auslöst und die Seite nicht zurück zum Server schickst.
Zitat
Original von Locust
Das Popup öffne ich über

btnBewerberSuche.Attributes.Add("onclick", "window.open('" + SiteMap.uri("uri_person_bewerberpopup")+ "', 'Bewerber', 'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=1,width=1150,height=810,left=60,top=60');");
Benutze hier besser die Eigenschaft "OnClientClick", AFAIK gibts das erst ab 2.0.
Attributes.Add macht das gleiche, jedoch gehts mit der Eigenschaft für einfache Sachen leichter von der Hand.
Zitat
Original von Locust
wie erreiche ich, dass erst die SessionFüllen() Methode ausgeführt und erst dann das neue Fenster aufgeht?
Indem du zuerst ein PostBack ausführst, also die Seite zum Server schickst.


Gruss Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

- https://peterbucher.ch/ - Meine persönliche Seite
- https://fpvspots.net/ - Spots für FPV Dronenflüge
private Nachricht | Beiträge des Benutzers