Domanda

Ho un database in cui sono memorizzati eventi e una pagina con un oggetto calendario su di esso. Quando si visualizzano i giorni in cui vengono visualizzati gli eventi dei mesi e, se presenti, corrispondono al giorno corrente in cui viene eseguito il rendering, viene creato un pulsante di collegamento per rappresentare l'evento nel giorno del calendario e lo aggiunge a quella cella. Aggiungo javascript al linkbutton per cambiare window.location in una pagina per visualizzare i dettagli dell'evento passando EventID nel querystring (ho provato a impostare il postbackurl del linkbutton appena creato ma non stava causando un postback ... senza fortuna). Devo impostare una variabile di sessione, ad es. Sessione (" EditMode ") = " Modifica " Quindi la nuova pagina saprà che è ottenere informazioni sull'evento esistente piuttosto che prepararsi a creare un nuovo evento? SUGGERIMENTI?

È stato utile?

Soluzione

I tuoi parametri di sessione sono controllati dal server, JS viene eseguito sul lato client e come tale non può modificare direttamente le variabili.

Devi fare richieste al server usando POST o GET e nascosto iframes o XMLHTTPRequest () chiama per inviare dati da JS a il server, quindi fai in modo che il tuo codice lato server gestisca le variabili.

Aggiungi un'altra variabile di stringa di query che la pagina può utilizzare per attivare esistente o nuovo.

Altri suggerimenti

Aggiungi un'altra variabile di stringa di query che la pagina può utilizzare per attivare esistente o nuova.

Se stai usando qualcosa come Struts2, puoi avere una variabile nascosta nel tuo jsp

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

E all'interno di JavaScript accedi semplicemente a questa variabile

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

Devi assolutamente aggiungere una variabile alla pagina di destinazione. Ma suppongo che tu stia facendo uno scenario popup, quindi dovresti essere in grado di creare una funzione javascript OpenWindow () e attivarlo quando l'utente fa clic sul collegamento.

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

Sul lato server è necessario creare la chiamata alla funzione OpenWindow. Ad esempio:

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

Quindi, in altre parole, prepara tutto sul lato server per impostare il tuo javascript in modo da pubblicare tutte le variabili nella nuova pagina. Spero che questo aiuti.

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

in altre pagine usa questo valore come variabile di sessione

document.getElementById("textbox2").value=sessionStorage.getItem("page1content");
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top