Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

luroberto

Recuperando uma List de um Controller para View ASp.Net MVC 5

Recommended Posts

Pessoal,

Estou tentando passar uma lista para a minha view porém na view a lista não é recuperada. Poderiam me ajudar no meu código conforme segue :

<<Código no Controller >>:

public ActionResult Logon()
{
...

procedimentos, etc....
...

List<AcessoModelo> listadeAcessos = acesso.verificaAcesso(Login); /* Lista (listadeAcessos ) recebe os dados que foram recuperados de um select e armazenados no método verificaAcesso *\

ViewBag.ListadeAplicacoes = listadeAcessos; // Passo a lista de acessos para a Viewbag.ListadeAplicacoes


return this.RedirectToAction("Inicio", "Logon")


}



----------------------------------------------//--------------------------------------

<<Código na View>>:

@foreach (var item in ViewBag.ListadeAplicacoes)
{
<span> @item.id_Aplicacao</span>
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou colocar o código completo para um melhor entendimento, pois estou recebendo a mensagem de Erro "Referência de objeto não definida para uma instância de um objeto".

 

Código do controller :

 public ActionResult Login(LoginModel model, string ReturnUrl)                {                    Acesso acesso = new Acesso();                                if (!this.ModelState.IsValid) //Primeiro verifica se o modelo não é valido                    {                        return this.View(model); // Caso não seja válido retorna para a view Login                    }                    // ASP.Net *Membership é um provider da microsoft para garatir a segurança da aplicação, utilizado no gerenciamento de regras de acesso                    //Método responsável pela validação do usuário e senha digitados                    if (Membership.ValidateUser(model.username, model.password))                                {                        //Verifica se a opção de lembrar senha para guardar o login e senha em cookie local para não precisar digitar novamente                     FormsAuthentication.SetAuthCookie(model.username, model.remembrerMe);                        //Caso sejam válidos (Login e senha) pega o endereço da RedirectTOAction para redirecionar o usuário Logado, no caso (principal/Index)                        if (this.Url.IsLocalUrl(ReturnUrl) && ReturnUrl.Length > 1 && ReturnUrl.StartsWith("/")                            && !ReturnUrl.StartsWith("//") && !ReturnUrl.StartsWith("/\\"))                        {                            return this.Redirect(ReturnUrl);                        }                                          Session["Login"] = model.username;                                                        List<AcessoModelo> listadeAcessos =   acesso.verificaAcesso(Login);   // List recebe a lista pelo método verificaAcesso()                                            return this.RedirectToAction("Principal", "Login", listadeAcessos); // Redireciona para a action Index do controller principal, com a lista de todos os objetos                                   }                    this.ModelState.AddModelError(string.Empty, "Login ou senha inseridos estão incorretos");                    // Mensagem que será mostrada caso o login ou senha estejam incorretos                    // Mensagem será mostrada no ViewBag.Message do Formulário = "Login ou senha inseridos estão incorretos";                                      return this.View(model);                }

Código da View :

@model IEnumerable<Aplicacoes.Dominio.AcessoModelo><html><head></head><body>   <section class="post">            @*AQUI FAÇO UM FOREACH NO MODEL PEGANDO A LISTA DE ÍTENS*@                                              @foreach (var item in Model)                        {                            <span>                                @item.idAplicacao                            </span>                                                        }                             </section></body></html>

Quando eu rodo a aplicação , ela pára no ponto do Foreach e apresenta a mensagem de Erro : "Referência de objeto não definida para uma instância de um objeto."

 

 

Alguém ,please ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade foi o tratamento que não estava sendo efetuado, causando erro , pois quando não retornava nenhum valor apresentava a mensagem de erro.

Efetuei o tratamento caso o valor da lista seja nulo e o problema foi resolvido. Obrigado a todos pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.