Question

J'ai une base de données dans laquelle sont stockés les événements et une page contenant un objet de calendrier. Lors du rendu des jours, il examine les événements des mois et, le cas échéant, il crée un bouton de 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 afin d'afficher les détails de l'événement en transmettant EventID dans la chaîne de requête (j'ai essayé de définir le postbackurl du linkbutton nouvellement créé, mais cela ne causait pas de publication ... pas de chance). J'ai besoin de définir une variable de session c'est-à-dire. Session (" EditMode ") = " Edit " La nouvelle page saura donc que c'est pour obtenir des informations sur un événement existant plutôt que pour se préparer à créer un nouvel événement? Des suggestions?

Était-ce utile?

La solution

Vos vars de session sont contrôlés par le serveur, JS fonctionne côté client et, en tant que tel, ne peut pas modifier directement les vars.

Vous devez faire des demandes de serveur en utilisant POST ou GET et masqué iframes ou appels XMLHTTPRequest () pour envoyer des données du JS à le serveur, puis laissez 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 la création existante par rapport à la nouvelle.

Autres conseils

Ajoutez une autre variable de chaîne de requête que la page peut utiliser pour déclencher la création existante par rapport à la nouvelle.

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 javascript, accédez simplement à cette variable

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

Vous devez absolument ajouter une variable à la page cible. Mais je suppose que vous réalisez un scénario contextuel. Vous devriez donc pouvoir créer une fonction javascript, OpenWindow (), et l’activer lorsque l’utilisateur clique sur le lien.

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

Sur le serveur, vous devez créer l'appel de la fonction OpenWindow. Par exemple:

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

En d'autres termes, préparez tout sur le côté serveur pour que votre javascript poste toutes les variables sur la nouvelle page. J'espère que cela vous aidera.

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

dans une autre page, utilisez cette valeur comme une variable de session similaire

document.getElementById("textbox2").value=sessionStorage.getItem("page1content");
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top