none
Ler Session em aspx da requisição $.ajax (urgente) RRS feed

  • Pergunta

  • Pessoal, estou tendo um problema... Preciso urgentemente de uma ajuda.

    No UserControl, armazeno um valor na Session, desta forma por exemplo:

    HttpContext.Current.Session["TESTE"] = objPedido;

    No aspx da requisição $.ajax, eu tento pegar o valor da Session:

    obj = (BO.cPedido)HttpContext.Current.Session["TESTE"];

    Mas sempre a SESSION fica como null.  Porque ?? Também testei com CacheMAnager -- Cache.Insert.. e Tb fica null..

    terça-feira, 26 de junho de 2012 01:48

Todas as Respostas

  • Boa noite se você está usando o WebForms, você pode decorar o método com [WebMethod(EnableSession = true)]

    Não esqueça de marcar o post como útil caso tenha te ajudado.

    terça-feira, 26 de junho de 2012 03:53
  • Já tentei fazer, porém não chama meu WebMethod, sempre cai no PAge_LOAD do aspx da requisição... Porque sera?
    terça-feira, 26 de junho de 2012 14:19
  • Amigo,

    Use o "Session.Add() | HttpContext.Current.Session.Add()" é muito melhor para gravar e não sei pq o método que você está usando vira e mexe da problema no meu caso. Depois para ler no AJAX(se você estiver no mesmo domínio) é só usar o  "HttpContext.Current.Session["TESTE"]" para ler a SESSION sem problemas. Hoje ele está dando erro pq a SESSION é um OBJ e em JS ee não vai entender isso.

    Se ainda continuar com erro envie o seu código que a gente ajuda.

    Boa sorte!



    Não esqueça de marcar como útil uma resposta que te ajude.
    "A diversão é a alma do negócio"

    terça-feira, 26 de junho de 2012 16:08
  • Obrigado Lucas,

    Pois é, mesmo com Add , ainda fica como null a session.. Pesquisei em todo lugar pra ver se tinha algum Session.Clear, mas não tem..

    O que pode ser não ?

    terça-feira, 26 de junho de 2012 17:10
  • Amigo,

    Você está tentando passar sua session como param no ajax?
    Manda seu código ai para a gente te ajudar, tem como?



    Não esqueça de marcar como útil uma resposta que te ajude.
    "A diversão é a alma do negócio"

    terça-feira, 26 de junho de 2012 19:13
  • Não to passando a session por ajax, pois não teria como deserializar no 1.1.. Vi um exemplo aonde faria algo assim: 

    <% System.Web.Script.Serialization.JavaScriptSerializer oSerializer =
             new System.Web.Script.Serialization.JavaScriptSerializer(); %>
    <script type="text/javascript" >
    var testObj = '<%= oSerializer.Serialize(HttpContext.Current.Session ["TEST"]);%>';
    </script>

    Porém no .net 1.1 nem tem esse JavaScriptSerializer... Estou pensando em fazer a requisição para a mesma URL ao inves de invocar outro aspx. Ai não precisaria da Session... Porém vocÊ tem outra sugestão ?

    quarta-feira, 27 de junho de 2012 00:27
  • Amigo,

    Você está usando 1.1...infelizmente esquece não vai funcionar mesmo, se você estivesse utilizando pelo menos o 2.0 seria melhor. Nesse caso utilize cookies no lugar de session.

    Boa sorte!


    Não esqueça de marcar como útil uma resposta que te ajude.
    "A diversão é a alma do negócio"

    • Sugerido como Resposta EduardoPiresMVP quarta-feira, 27 de junho de 2012 12:40
    quarta-feira, 27 de junho de 2012 11:32