Sessão MVC4, Razor

27/06/2014

0

Boa tarde Galera,

Tenho uma sessão que eu verifico no Controller

public ActionResult Pagina () {
if(Session['usuario'] == null)
{

}else{
Usuario usuario = (Usuario)Session['usuario'];
ViewBag.nome = usuario.nome;
}
return View();
}

pra cada ActionResult tenho que fazer isso para exibição no topo!

Essa sessão é exibida no topo (_layout) de todo projeto, tem como eu colocar essa verificação no topo? ou ficaria gambiarra fazer dessa forma?

Abç boa semana a todos.
Eduardo Silva

Eduardo Silva

Responder

Posts

27/06/2014

Joel Rodrigues

Já testou colocar isso em uma view parcial e exibir ela no _layout.cshtml?
Responder

27/06/2014

Marco Cezar

Usa uma ViewBag.Usuario = variavel, e chama ela dps na view.
Responder

27/06/2014

Joel Rodrigues

Usa uma ViewBag.Usuario = variavel, e chama ela dps na view.
Mas aparentemente ele já está fazendo isso, não?
Responder

28/06/2014

Eduardo Silva

E ai galera obrigado pela ajuda,

O problema de ficar no topo (_layout.cshtml) é que eu tenho q fazer um @model projeto.models.class para poder utilizar a classe relacionada, no caso da recuperação da sessão para o usuário.

else{
---> Usuario usuario = (Usuario)Session['usuario'];
ViewBag.nome = usuario.nome;
}

não daria erro eu ter um @model projeto.models.class só para exibir sessão e um @model projeto.models.class no conteúdo para fazer um cadastro?

Boa semana a todos.



.
Responder

29/06/2014

Joel Rodrigues

Rapaz, estou sem VS aqui agora, mas tente criar um projeto novo com autenticação e ver como isso é feito por padrão. Se vocÊ notar, aparece o nome do usuário logado lá no canto superior direito. Eu acho que é com uma view parcial, mas não tenho certeza. Talvez você consiga utilizar o mesmo método.
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar