none
assar informações de um Controller para .cshtml RRS feed

  • Pergunta

  • Pessoal;

     

    Em meu controller tenho o seguinte trecho de código:

    public ActionResult Login(LoginModel model)
            {
                if (ModelState.IsValid)
                {
                    UsuarioService service = new UsuarioService();
                    UsuarioModel userModel = new UsuarioModel();
     
                    userModel = service.authenticate(model.UserName.ToUpper(), model.Password.ToUpper());
     
                    if (userModel != null)
                    {
                        FormsAuthenticationTicket authenticationTicket = new FormsAuthenticationTicket(model.UserName, false, 60);
                        string encryptTicket = FormsAuthentication.Encrypt(authenticationTicket);
                        HttpCookie authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptTicket);
                        Response.Cookies.Add(authCookie);
            
                        return RedirectToAction("Index", "Home");
                    }
                    
                }

    Gostaria de saber como faço para conseguir obter os dados do userModel na minha página HOME que é um .cshtml.

    Lembrando que estou utilizando asp net MVC 4 Razor.

     Obrigado.


    segunda-feira, 17 de fevereiro de 2014 13:11

Respostas

  • Você pode colocar em uma variável de sessão e recuperar em qualquer página, inclusive na master page:

    Session["UserModel"] = userModel;

    Para pegar:

    UsuarioModel userModel = (UsuarioModel)Session["UserModel"];

    Depois você pode passar via viewbag, viewdata.


    terça-feira, 18 de fevereiro de 2014 18:49
    Moderador
  • No redirectToAction:

    return RedirectToAction("Index", "Home", UserModel);
    

    na Action Index dentro do controller Home:

    public ActionResult Index(UsuarioModel userModel)
    {
    if(userModel==null){
    userModel=new UsuarioModel;
    }
    return View(userModel)
    }

    Na View Index:

    @model UsuarioModel
    
    <h1>@Model.Nome</h1>


    "just because you've abandoned your hopes of becoming a great thinker or scientist, don't give up on attaining freedom, achieving humility, serving others..." - 7.67 - Meditations - Marcus Aurelius

    • Sugerido como Resposta Richof quinta-feira, 20 de fevereiro de 2014 23:03
    • Marcado como Resposta welington jrModerator segunda-feira, 5 de março de 2018 11:22
    quinta-feira, 20 de fevereiro de 2014 13:13

Todas as Respostas

  • Você pode colocar em uma variável de sessão e recuperar em qualquer página, inclusive na master page:

    Session["UserModel"] = userModel;

    Para pegar:

    UsuarioModel userModel = (UsuarioModel)Session["UserModel"];

    Depois você pode passar via viewbag, viewdata.


    terça-feira, 18 de fevereiro de 2014 18:49
    Moderador
  • No redirectToAction:

    return RedirectToAction("Index", "Home", UserModel);
    

    na Action Index dentro do controller Home:

    public ActionResult Index(UsuarioModel userModel)
    {
    if(userModel==null){
    userModel=new UsuarioModel;
    }
    return View(userModel)
    }

    Na View Index:

    @model UsuarioModel
    
    <h1>@Model.Nome</h1>


    "just because you've abandoned your hopes of becoming a great thinker or scientist, don't give up on attaining freedom, achieving humility, serving others..." - 7.67 - Meditations - Marcus Aurelius

    • Sugerido como Resposta Richof quinta-feira, 20 de fevereiro de 2014 23:03
    • Marcado como Resposta welington jrModerator segunda-feira, 5 de março de 2018 11:22
    quinta-feira, 20 de fevereiro de 2014 13:13