none
Recuperar Session em outra página aspx RRS feed

  • Pergunta

  • Uso VS2010, c#, aspnet4

    Na página form1.aspx tenho o click do button tentando passar parâmetro de alguma forma para a página form2.aspx

    --------------> form1.aspx

    public void Button1_Click(object sender, EventArgs e) 
        {
            String VarID = 4;
    Session["minhaVariavel"] = VarID;      
    Session.Add("id", VarID);
       }

    --------------> form2.aspx aqui, outra página, tento recuperar os valores mas tá tudo null

     protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                string strValorSession = Convert.ToString(Session["id"]);
                string codSerie = Request.Params["VarID"];           
            }
        }

    como passo e recebo parametro no exemplo acima


    • Editado Álvaro Luiz segunda-feira, 9 de julho de 2012 12:42
    segunda-feira, 9 de julho de 2012 12:35

Respostas

  • Não tem muita dificuldade vou te mandar um exemplo, tenho uma página de login que serve apenas para autenticar o usuário ou seja ver se usuário e senha tem no banco ai estando correto mando para a página default.aspx nela eu crio as session eu uso linq

    protected void Page_Load(object sender, EventArgs e)
            {
                if (Request.IsAuthenticated) 
                {
                    //'string nome = Session["NomeUsuario"].ToString() ;
    
                    Tb_Web_Usuario  user = db.Tb_Web_Usuario.FirstOrDefault(u => u.Nmusua  == HttpContext.Current.User.Identity.Name );
                    if (user != null)
                    {
                        if (!Page.IsPostBack && vcod == 0)
                        {
                            var result = from be in db.Tb_Base_Empresa where (user.Cdempr == be.cdempr) select be;
                            var result1 = from g in db.Tb_Web_Grupo where (user.Cdgrup == g.cdgrup) select g;
    
                            var empresa = result.FirstOrDefault();
                            var codemp = user.Tb_Base_Empresa.cdempr;
                            var nomeusu = user.Dslogi;
                            var codusu = user.Idusua;
                            var emailusu = user.Email1;
                            var grupousu = result1.FirstOrDefault();
                            var grupo = grupousu.cdgrup;
    
                            Session["Empresa"] = empresa.nmabre;
                            Session["TipoEmpresa"] = empresa.tpempr; 
                            Session["CodEmpresa"] = codemp;
                            Session["NomeUsuario"] = nomeusu;
                            Session["Codusu"] = codusu;
                            Session["email"] = emailusu;

    e nas páginas faço esse teste no load de cada página

    protected void Page_Load(object sender, EventArgs e)
            {
                if (String.IsNullOrEmpty(Session["CodEmpresa"].ToString()))
                {
                    string mensagem = "Usuário não identificado ou sessão expirada. Por favor, identifique-se no sistema";
                    string url = "../../Account/Login.aspx";
                    ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(), "alert('" + mensagem + "'); location='" + url + "';", true);
                    return;
                }
            }


    Junior

    • Marcado como Resposta Álvaro Luiz segunda-feira, 9 de julho de 2012 13:41
    segunda-feira, 9 de julho de 2012 13:36