Sessão MVC4, Razor
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.
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
Curtidas 0
Respostas
Joel Rodrigues
27/06/2014
Já testou colocar isso em uma view parcial e exibir ela no _layout.cshtml?
GOSTEI 0
Marco Cezar
27/06/2014
Usa uma ViewBag.Usuario = variavel, e chama ela dps na view.
GOSTEI 0
Joel Rodrigues
27/06/2014
Usa uma ViewBag.Usuario = variavel, e chama ela dps na view.
Mas aparentemente ele já está fazendo isso, não?
GOSTEI 0
Eduardo Silva
27/06/2014
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.
.
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.
.
GOSTEI 0
Joel Rodrigues
27/06/2014
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.
GOSTEI 0