Javascript e variáveis ??de sessão
-
02-07-2019 - |
Pergunta
Eu tenho um banco de dados que armazena eventos em que e uma página com um objeto calendário nele. Ao renderizar os dias que olha através dos eventos meses e se qualquer jogo do dia atual que está sendo processado ele cria um linkbutton para representar o evento no dia no calendário e adiciona-lo para essa célula. I adicionar algum javascript para o linkbutton para alterar o window.location para uma página para visualizar detalhes de eventos que passam EventID na querystring (eu tentei definindo o PostBackUrl do linkbutton recém-criada mas não era causar um postback ... sem sorte). Eu preciso definir um ou seja variável de sessão. Session ( "EditMode") = "Editar" Assim, a nova página vai saber que ele é obter uma informação do evento existente em vez de se preparar para criar um novo evento? Alguma sugestão?
Solução
Seus vars de sessão são controlados pelo servidor, JS é executado do lado do cliente e, como não como pode modificar o vars diretamente.
Você precisa fazer solicitações do servidor usando POST ou GET e escondido iframe, ou XMLHTTPRequest () chamadas para enviar dados do JS para o servidor, e, em seguida, ter seu punho código do lado do servidor do Vars.
Adicionar outra variável string de consulta que a página pode usar para gatilho existente vs nova.
Outras dicas
Adicionar outra variável string de consulta que a página pode usar para gatilho existente vs nova.
Se você estiver usando algo como Struts2, você pode ter uma variável escondida em seu jsp
<s:hidden id="EditModeId" value="%{#session.EditMode}"/>
E dentro de javascript simplesmente acessar esta variável
alert(document.getElementById('EditModeId').value);
Você definitivamente precisa adicionar uma variável para a página de destino. Mas eu entendo que você está fazendo um cenário pop-up, então você deve ser capaz de criar um OpenWindow função javascript () e fogo-lo quando o usuário clica no link.
<script>
function OpenWindow(eventId, editMode)
{
var window = window.open("popup.aspx?eventId=" + eventId + "&editMode=" + editMode);
}
</script>
No lado do servidor que você precisa para construir a chamada para a função OpenWindow. Por exemplo:
onclick="OpenWindow(eventId=" + row["eventId"].ToString() + "&editMode=" + editMode.ToString() + ");"
Assim, em outras palavras, prep tudo no serverside para definir o javascript para enviar todas as variáveis ??para a nova página. Espero que isso ajude.
var page1 = document.getElementById("textbox").value;
sessionStorage.setItem("page1content", page1);
em outra página usar esse valor como como variável de sessão
document.getElementById("textbox2").value=sessionStorage.getItem("page1content");