Session e .ascx ?so funciona no 2° clique.
- Estou com o seguinte problema,
tenho uma session que é carregada no meu .ascx e com essa session carregada eu pego os valores dela dentro da minha página.
o problema é que quando clico num botão dentro do .ascx para carregar a session, no primeiro postback da página a session não é carregada....
quando clico no botão novamente a session é carregada...
alguém pode me explicar o pq isso acontece... e se alguem tem alguma solução para este problema ???
Obrigado!
Respostas
Paulo,
Você carrega a variável de sessão no click do linkbutton, porém você lê a variável de sessão no load da página.
Quer dizer : Você lê a variável de sessão antes de atribuir o seu valor, por isso a mudança de valor só tem efeito no 2o clique.
Existe algo sendo feito após o page_load com base na variável meuidioma que você não mostrou e é esse "algo" que você está dizendo que só acontece no 2o clique.
A saida : "disparar" esse "algo" que você não mostrou também no click do linkbutton. Faça com que seja um disparo de método que você possa chamar pelo linkbutton.
Só para completar : Creio que o linkbutton está dentro do user control, o user control pode precisar receber algum parâmetro para fazer o disparo da ação que você deseja.[]'s
Dennes
http://twitter.com/Dennes
Dennes - Se resolveu, classifique a mensagem, por favor - [http://www.bufaloinfo.com.br] NOVO DVD Segurança no ASP.NET : http://www.bufaloinfo.com.br/LearingSeriesSegurancaASPNET2.asp- EditadoFernanda SimõesMSFT, Moderadorquarta-feira, 11 de novembro de 2009 16:05del de conteudo abusivo
- Marcado como RespostaFernanda SimõesMSFT, Moderadorquarta-feira, 11 de novembro de 2009 16:05
Todas as Respostas
- Isso depende do lugar no código que você colocou o carregamento da Session.
Você colocou no Page_Load ou no Click do botão ? Nos mostre o local(e o código). - Coloque o trecho de código com esse método.
- código do meu .ascx
código no load da minha páginaProtected Sub LinkButtonPT_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LinkButtonPT.Click Session("Idioma") = "pt-BR" 'InitializeCulture() End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not Page.IsPostBack Then dim MeuIdioma as string MeuIdioma = Session("Idioma") End If End Sub - De acordo com o seu código ao entrar na tela realmente a Session ainda não tem valor nenhum.
E depois de clicar no botão ela é carregada, mais dai a variável MeuIdioma não será mais preenchida pois você colocou
o preenchimento dela dentro do "If Not Page.IsPostBack",
que significa que esse código só é executado na primeira vez que você entra na tela.
Qual está sendo o problema realmente ? O que você quer fazer que não está conseguindo ? Fale,
Coloca no Page_Load do .ascx
Session("Idioma") = "pt-BR"Abraço!
Se a resposta solucionar sua dúvida, favor - Votar como Útil Abraço!Barros, não funcionou.
- Kaue, o problema é que um variavél dentro da minha página não recebe o valor da Session criada no meu .ascx de primeira...
so recebe o valor quando clico na segunda vez! - Pvitor, o certo seria vc criar uma classe para fazer esse gerenciamento de language, que ae ela faz o gerenciamento da sua session, eu fiz um projetinho para isso já, mais para vc testar crie uma no appCode e faça o teste use o partner singleton para isso, pois vc só terá uma instancia para essa classe.
Paulo,
Você carrega a variável de sessão no click do linkbutton, porém você lê a variável de sessão no load da página.
Quer dizer : Você lê a variável de sessão antes de atribuir o seu valor, por isso a mudança de valor só tem efeito no 2o clique.
Existe algo sendo feito após o page_load com base na variável meuidioma que você não mostrou e é esse "algo" que você está dizendo que só acontece no 2o clique.
A saida : "disparar" esse "algo" que você não mostrou também no click do linkbutton. Faça com que seja um disparo de método que você possa chamar pelo linkbutton.
Só para completar : Creio que o linkbutton está dentro do user control, o user control pode precisar receber algum parâmetro para fazer o disparo da ação que você deseja.[]'s
Dennes
http://twitter.com/Dennes
Dennes - Se resolveu, classifique a mensagem, por favor - [http://www.bufaloinfo.com.br] NOVO DVD Segurança no ASP.NET : http://www.bufaloinfo.com.br/LearingSeriesSegurancaASPNET2.asp- EditadoFernanda SimõesMSFT, Moderadorquarta-feira, 11 de novembro de 2009 16:05del de conteudo abusivo
- Marcado como RespostaFernanda SimõesMSFT, Moderadorquarta-feira, 11 de novembro de 2009 16:05

