Frage

Ich habe eine Datenbank, die Ereignisse in ihr und eine Seite mit einem Kalenderobjekt auf speichert. Wenn die Tage machen es die Monate Ereignisse und wenn jeder Partie wird der aktuelle Tag schaut durch gerendert es eine Linkbutton erstellt das Ereignis in den Tag im Kalender darzustellen und fügt sie zu dieser Zelle. Ich füge einige Javascript, um die Linkbutton die window.location auf eine Seite zu ändern Ereignisdetails vorbei EreignisID im Abfragezeichenfolgeflag (Ich habe versucht, die Einstellung der PostBackUrl des neu erstellten Linkbutton aber es war nicht verursacht ein Postback ... kein Glück) zu sehen. Ich brauche ein Session-Variable dh einzustellen. Session ( „Edit Mode“) = „Edit“ So ist die neue Seite weiß, dass es ist eine bestehende Veranstaltung Informationen zu erhalten, anstatt zu bereiten ein neues Ereignis zu erstellen? Irgendwelche Vorschläge?

War es hilfreich?

Lösung

Ihre Sitzung Vars werden vom Server gesteuert, JS läuft Client-Seite, und als solche können die Vars nicht direkt geändert werden.

Sie müssen Serveranforderungen mit POST oder GET und versteckt machen iframes oder XMLHTTPRequest () ruft Daten aus dem JS senden der Server, und dann Server-seitigen Code des Vars behandeln.

Fügen Sie eine weitere Abfrage-String-Variable, dass die Seite auslösen bestehende vs neue verwenden können.

Andere Tipps

Fügen Sie eine weitere Abfrage-String-Variable, dass die Seite auslösen bestehende vs neue verwenden können.

Wenn Sie so etwas wie Struts2 verwenden, können Sie eine versteckte Variable in der jsp haben

<s:hidden id="EditModeId" value="%{#session.EditMode}"/> 

Und innerhalb von Javascript einfach diese Variable zugreifen

alert(document.getElementById('EditModeId').value);

Sie müssen auf jeden Fall eine Variable auf die Zielseite hinzuzufügen. Aber ich nehme an, dass Sie ein Pop-up-Szenario tun, so sollten Sie in der Lage sein, eine JavaScript-Funktion Openwindow () zu erstellen und feuern es aus, wenn der Benutzer auf den Link klickt.

<script>
function OpenWindow(eventId, editMode)
{
    var window = window.open("popup.aspx?eventId=" + eventId + "&editMode=" + editMode);
}
</script>

Auf der Serverseite müssen Sie den Aufruf der Funktion Openwindow bauen. Zum Beispiel:

onclick="OpenWindow(eventId=" + row["eventId"].ToString() + "&editMode=" + editMode.ToString() + ");"

Also mit anderen Worten, prep alles auf dem Serverside Ihr Javascript setzen alle Variablen auf die neue Seite zu schreiben. Hoffe, das hilft.

var page1 = document.getElementById("textbox").value; 
sessionStorage.setItem("page1content", page1);

in anderer Seite verwendet diesen Wert als wie Session-Variable

document.getElementById("textbox2").value=sessionStorage.getItem("page1content");
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top