none
Menu RRS feed

  • Pergunta

  • Saudações tenho uma classe que herda de menu, e preciso popular o mesmo com dados vindo do banco. tenho um método que popula os itens pais e filhos, porém, gostaria de chamar esse método uma vez só. pensei em chamá-lo no global.asax e jogar a instancia dessa classe em uma session, e no construtor da classe fazer algo do tipo this = Session. Como posso fazer isso?
    Desenvolva!!!
    quinta-feira, 21 de julho de 2011 17:31

Respostas

  • Bom quanto ao construtor pode receber Session, você deve implementar System.Web.UI.Page para pode trabalhar com Sesssion, você pode utilizar a solução abaixo

    public class Pessoa : System.Web.UI.Page
      {
        //Propriedades
        public string Nome { get; set; }
        public string Sobrenome { get; set; }
    
        //Atributo que vai ser guardado o retorno do método "BuscarListaDeUsuario"
        private List<Pessoa> listaDePessoas;
    
        //Propriedade que retorna a lista de pessoa
        public List<Pessoa> ListaDePessoas
        {
          get
          {
            //Retornando lista de pessoa
            return BuscarListaDeUsuario(listaDePessoas);
          }
        }
    
        //Cosntrutor
        public Pessoa()
        {
    
        }
    
        //Cosntrutor
        public Pessoa(string nome, string sobrenome)
        {
          this.Nome = nome;
          this.Sobrenome = sobrenome;
        }
    
        //Método que retorna lista de pessoa
        public List<Pessoa> BuscarListaDeUsuario(List<Pessoa> lista)
        {
          if (Session["ListaPessoas"] != null)
          {
            lista = ((List<Pessoa>)Session["ListaPessoas"]);
            return lista;
          }
          else
          {
            return null;
          }
        }
      }
    


    Vitor Mendes | Seu feedback é muito importante para todos!
    • Sugerido como Resposta Vitor Mendes sexta-feira, 22 de julho de 2011 14:19
    • Marcado como Resposta Eder CostaModerator quinta-feira, 28 de julho de 2011 17:13
    quinta-feira, 21 de julho de 2011 22:01

Todas as Respostas

  • Você pode seguir como esta no tutorial do link abaixo, só que ao invés de usar Application.Add(), utilize uma session comum para salvar o retorno do seu banco, tipo Session["RetornoBanco"] = //seu retorno do banco aqui, DataTable, Liste assim por diante

    http://reginaldojr.wordpress.com/tag/globalasax/ 
    Vitor Mendes | Seu feedback é muito importante para todos!
    quinta-feira, 21 de julho de 2011 18:28
  • Opa. Obrigado por responder. Até ai tudo bem, minha dúvida é, no construtor da minha classe, mostrar que aquela instancia deve receber essa Session
    Desenvolva!!!
    quinta-feira, 21 de julho de 2011 18:36
  • Bom quanto ao construtor pode receber Session, você deve implementar System.Web.UI.Page para pode trabalhar com Sesssion, você pode utilizar a solução abaixo

    public class Pessoa : System.Web.UI.Page
      {
        //Propriedades
        public string Nome { get; set; }
        public string Sobrenome { get; set; }
    
        //Atributo que vai ser guardado o retorno do método "BuscarListaDeUsuario"
        private List<Pessoa> listaDePessoas;
    
        //Propriedade que retorna a lista de pessoa
        public List<Pessoa> ListaDePessoas
        {
          get
          {
            //Retornando lista de pessoa
            return BuscarListaDeUsuario(listaDePessoas);
          }
        }
    
        //Cosntrutor
        public Pessoa()
        {
    
        }
    
        //Cosntrutor
        public Pessoa(string nome, string sobrenome)
        {
          this.Nome = nome;
          this.Sobrenome = sobrenome;
        }
    
        //Método que retorna lista de pessoa
        public List<Pessoa> BuscarListaDeUsuario(List<Pessoa> lista)
        {
          if (Session["ListaPessoas"] != null)
          {
            lista = ((List<Pessoa>)Session["ListaPessoas"]);
            return lista;
          }
          else
          {
            return null;
          }
        }
      }
    


    Vitor Mendes | Seu feedback é muito importante para todos!
    • Sugerido como Resposta Vitor Mendes sexta-feira, 22 de julho de 2011 14:19
    • Marcado como Resposta Eder CostaModerator quinta-feira, 28 de julho de 2011 17:13
    quinta-feira, 21 de julho de 2011 22:01