2008-09-24 6 views
2

J'ai une base de données qui stocke des événements et une page avec un objet de calendrier. Lors du rendu des jours, il passe en revue les événements mensuels et, s'il y en a, il crée un lien pour représenter l'événement du jour sur le calendrier et l'ajoute à cette cellule. J'ajoute du javascript au linkbutton pour changer le window.location à une page pour voir les détails de l'événement en passant EventID dans la chaîne de requête (j'ai essayé de régler le postbackurl du lien nouvellement créé mais cela ne provoquait pas de publication ... pas de chance). Je dois définir une variable de session c'est-à-dire Session ("EditMode") = "Modifier" Donc, la nouvelle page saura que c'est pour obtenir une information d'événement existante plutôt que de se préparer à créer un nouvel événement? Aucune suggestion?Javascript et variables de session

+0

Quels événements stockez-vous? Et aussi, pourriez-vous poster du code? –

Répondre

6

Vos variables de session sont contrôlées par le serveur, JS exécute le côté client et, par conséquent, ne peut pas modifier directement les variables.

Vous devez faire des demandes de serveur à l'aide POST ou GET et caché iframes ou XMLHttpRequest() appelle à envoyer des données de la JS à le serveur, et ensuite votre code côté serveur gérer les vars.

Ajoutez une autre variable de chaîne de requête que la page peut utiliser pour déclencher une nouvelle instance.

6

Ajoutez une autre variable de chaîne de requête que la page peut utiliser pour déclencher une nouvelle instance.

1

Vous devez absolument ajouter une variable à la page cible. Mais je suppose que vous faites un scénario popup, donc vous devriez être capable de créer une fonction javascript OpenWindow() et le déclencher lorsque l'utilisateur clique sur le lien. Sur le côté serveur, vous devez générer l'appel à la fonction OpenWindow. Par exemple:

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

En d'autres termes, la préparation sur tout le Serverside pour définir votre javascript pour afficher toutes les variables à la nouvelle page. J'espère que cela t'aides.

2

Si vous utilisez quelque chose comme Struts2, vous pouvez avoir une variable cachée dans votre jsp

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

Et dans les javascript accéder simplement cette variable

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

dans une autre utilisation de la page de cette valeur comme variable de session

document.getElementById("textbox2").value=sessionStorage.getItem("page1content");