Benutzer mit den meisten Antworten
asp.net C# Default Seite aktualisieren aus anderem Tab

Frage
-
Hallo,
in meiner Default-Page habe ich eine GridView. Zusätzlich habe ich in jeder Spalte einen LinkButton - Daten ändern. Wenn der Button ausgelöst wird, wird eine neue Seite aufgemacht in einem neuen Tab. Dann kann ich eben Änderungen vornehmen usw... In dieser Seite habe ich einen Button - Update. Wenn dieser ausgelöst wird, wird das Update durchgeführt, das Tab wird geschlossen und ich komme zurück zu der Default- Seite. Meine Frage, wie kann ich die Default-Seite aktualisieren (GridView) wenn das Tab geschlossen wird?
Bitte um Tipps.
Danke
Gruß Danijel
- Bearbeitet Danijel Kramar Montag, 3. Oktober 2016 07:48
Antworten
-
Hi Danijel,
neuer Tab im Browser = komplett vom vorherigen Request unabhängiger Seitenaufruf ohne irgendeine serverseitige Verbindungsmöglichkeit.
Das einzige, was dir hier bleibt, wäre clientseitiges Javascript, das dann bspw. mittels window.opener auf das Fenster zeigt, welches das Popup bzw. den neuen Tab geöffnet hat. Wichtig hierfür ist, dass das neue Fenster nicht per normalem Link (<a href="andereseite.aspx">...) sondern per window.open( ... )
window.open( "andereseite.aspx", "_blank" );
geöffnet wurde, da es ansonsten kein opener Objekt gibt, auf das Du zugreifen kannst.
<script type="text/javascript"> window.onunload = reloadParent; function reloadParent() { window.opener.location.reload(); } </script>
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Danijel Kramar Montag, 3. Oktober 2016 09:14
Alle Antworten
-
Hi Danijel,
neuer Tab im Browser = komplett vom vorherigen Request unabhängiger Seitenaufruf ohne irgendeine serverseitige Verbindungsmöglichkeit.
Das einzige, was dir hier bleibt, wäre clientseitiges Javascript, das dann bspw. mittels window.opener auf das Fenster zeigt, welches das Popup bzw. den neuen Tab geöffnet hat. Wichtig hierfür ist, dass das neue Fenster nicht per normalem Link (<a href="andereseite.aspx">...) sondern per window.open( ... )
window.open( "andereseite.aspx", "_blank" );
geöffnet wurde, da es ansonsten kein opener Objekt gibt, auf das Du zugreifen kannst.
<script type="text/javascript"> window.onunload = reloadParent; function reloadParent() { window.opener.location.reload(); } </script>
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Danijel Kramar Montag, 3. Oktober 2016 09:14
-
Hallo Danjel
du könntest den Status über die Session Auflistung verwalten. Ich könnte mir zwar irgendwie vorstellen, dass die zweite Seite die Default-Seite (Ajax etc.) später zur Aktualisierung bewegen könnte, was aber, wenn der Anwender dummerweise oder versehentlich die Defaultseite schließt?
Falls du deine Site mit Webforms machst, würde ich es aber anders machen. Insbesondere würde ich keine zweite Seite verwenden sondern das MultiView-Steuerelement in Betracht ziehen. Damit bleibt alles in einer Seite und die komplette Steuerung wird um einiges einfacher. Du könntest das Grid in einer View darstellen und das Änderungsformular in einem weiteren View.
Gruß, K.