Cross Page Postback auf eine bestehende Seite

26/06/2008 - 11:44 von Holger Voges | Report spam
Hallo,

ich habe folgendes Problem: Ich möchte von einer bestehenden Seite aus
ein Kalender-Control in einer neuen Seite öffnen und das ausgewàhlte
Datum dann wieder an die aufrufende Seite zurückgeben und das
Kalender-Control schliessen. Dafür scheint mir ein Cross-Page-Postback
am besten geeignet, aber mit diesem Ansatz bekomme ich immer wieder ein
neues Fenster geöffnet, anstatt die Daten an die bestehende SEite zu
übergeben. Ich habe schon geschaut, ob man das über die
Javascript-Funktion WebForm_DoPostBackWithOptions anpassen kann, finde
aber keine brauchbare Beschreibung. Hat jemand von Euch eine brauchbare
Lösung?

Vielen Dank,
Holger

www.netz-weise.de
Training und Consulting
 

Lesen sie die antworten

#1 Holger Voges
26/06/2008 - 12:20 | Warnen spam
Hallo Holger,

"Holger Voges" schrieb:

ich habe folgendes Problem: Ich möchte von einer bestehenden Seite aus ein
Kalender-Control in einer neuen Seite öffnen und das ausgewàhlte Datum dann
wieder an die aufrufende Seite zurückgeben und das Kalender-Control
schliessen. Dafür scheint mir ein Cross-Page-Postback am besten geeignet,
aber mit diesem Ansatz bekomme ich immer wieder ein neues Fenster geöffnet,
anstatt die Daten an die bestehende SEite zu übergeben.



das würde ich anders lösen. Öffne das Popup, setz das Datum aus dem
aufrufenden
Skript und übergib beim Schließen das ausgewàhlte Datum wieder an den
Aufrufer
zurück.

Ein einfaches Beispiel für eine solche Wertübergabe aus dem Popup (das musst
Du
natürlich noch auf deine Bedürfnisse hin anpassen):

[Seite]
<html>
<head>
<title>Test für Popup</title>
<script type="text/javascript">
function openPopup()
{
var Popup = window.open( "Popup.html", "",
",height00,scrollbars=no,border=no" );
}
</script>
</head>
<body>

<a href="#" onclick="openPopup();">Klick mich</a>

<span id="Label">Text vom Hauptfenster</span>

</body>
<html>

[Popup]
<html>
<head>
<title>Test für Popup</title>
<script type="text/javascript">
function setText()
{
opener.document.getElementById( "Label" ).innerHTML = "<b>Text aus
Popupfenster</b>";
}
</script>
</head>
<body>

<a href="#" onclick="setText();">Klick mich im Popup</a>

</body>
<html>



Hi Stefan,
das war mein erster Ansatz, aber der ging leider in die Hose. Ich habe
eine master-Page, von der das Dokument abgeleitet ist, und ich habe es
nach stundenlangem probieren aufgegeben, da ich es nicht hingekriegt
habe, auf den Rückgabewert zuzugreifen. Alles klappt wunderbar, solange
ich auf ein Form referenzieren kann, aber sobald ich mit dem master
arbeite, kreige ich folgende Fehlermeldung:
"Laufzeitfehler in Microsoft JScript:
'window.opener.aspnetform.chosendate' ist Null oder kein Objekt", wobei
ich den Namen "aspnetform" aus dem Quelltext der Seite entnommen habe.
Kannst Du mir sagen, wie ich das control sonst richtig referenzieren
kann?

www.netz-weise.de
Training und Consulting

Ähnliche fragen