Pregunta

Tengo una base de datos que almacena eventos en ella y una página con un objeto de calendario en ella. Cuando se representan los días, se revisan los eventos de los meses y, si alguno coincide con el día actual, se crea un botón de enlace para representar el evento del día en el calendario y se agrega a esa celda. Agrego un poco de javascript al botón de enlace para cambiar la ubicación de window a una página para ver los detalles del evento que pasan el EventID en la cadena de consulta (intenté establecer el postbackurl del botón de enlace recién creado pero no causó una devolución de datos ... sin suerte). Necesito establecer una variable de sesión, es decir. Sesión (" EditMode ") = " Editar " Entonces, ¿la nueva página sabrá que es para obtener información de un evento existente en lugar de prepararse para crear un nuevo evento? ¿Alguna sugerencia?

¿Fue útil?

Solución

Sus vars de sesión son controlados por el servidor, JS ejecuta el lado del cliente y, como tal, no puede modificar las vars directamente.

Es necesario realizar solicitudes de servidor utilizando POST o GET y ocultas iframes, o llamadas XMLHTTPRequest () para enviar datos desde el JS a el servidor, y luego haga que su código del lado del servidor maneje las vars.

Agregue otra variable de cadena de consulta que la página pueda usar para desencadenar una nueva vs existente.

Otros consejos

Agregue otra variable de cadena de consulta que la página pueda usar para desencadenar una nueva vs existente.

Si está usando algo como Struts2, puede tener una variable oculta en su jsp

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

Y dentro de javascript simplemente acceda a esta variable

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

Definitivamente necesitas agregar una variable a la página de destino. Pero supongo que estás haciendo un escenario emergente, por lo que deberías poder crear una función de JavaScript OpenWindow () y activarlo cuando el usuario haga clic en el enlace.

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

En el lado del servidor, debe crear la llamada a la función OpenWindow. Por ejemplo:

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

En otras palabras, prepare todo en el lado del servidor para configurar su javascript para que publique todas las variables en la nueva página. Espero que esto ayude.

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

en otra página, use este valor como variable de sesión

document.getElementById("textbox2").value=sessionStorage.getItem("page1content");
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top