1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Erro ao usar HTML Helpers

Pessoal estou com uma dúvida sobre um erro que está me retornando no ASP.NET MVC, há um tempo atrás perguntei sobre os tipos diferentes tipos de lista e me esplicaram muito bem que existe uma hierarquia entre os tipo e o IList é o mais completo, até ai perfeito. Mas no meu projeto alguem pode me dizer o porque eu recebo esse erro

Compiler Error Message: CS1061: 'System.Collections.Generic.IList<CamadaDeApresentacao.Models.Aluno>' does not contain a definition for 'Nome' and no extension method 'Nome' accepting a first argument of type 'System.Collections.Generic.IList<CamadaDeApresentacao.Models.Aluno>' could be found (are you missing a using directive or an assembly reference?)

quando na minha View eu declaro um @model IList ao invés do @model IEnumerable?

O recurso Model não reconhece esse tipo de Lista?

Grato desde ja

Controller

 public ActionResult Lista()
        {

            IList<Aluno> Lista = new List<Aluno>();

            for (int i = 0; i < 10; i++)
            {

                Aluno a = new Aluno();
                a.AlunoID = i;
                a.Nome = "Aluno " + i;
                a.Email = "Email " + i;

                Lista.Add(a);
            }

            return View(Lista);
        }

View

@model IList<CamadaDeApresentacao.Models.Aluno>

@{
    ViewBag.Title = "Detalhes";
}

<h2>Detalhes</h2>

<fieldset>
    <legend>Aluno</legend>
    @foreach (var item in @Model)
    {

         /*Se no @model eu declarar o IList<> tanto o DisplayNameFor que pega o nome da propriedade quando o DisplayFor que pega o valor da propriedade retornam esse erro

Se eu usar o IEnumerable somente o DisplayFor retorna esse erro DisplayNameFor funciona nesse caso
*/

         <h2>@Html.DisplayNameFor(m => m.Nome)</h2>
         <h2>@Html.DisplayFor(m => m.Nome)</h2>

    }

</fieldset>

Alguem sabe o que acontece nesses dois casos?

  • Poste o local e código onde o erro acontece que vai ser mais fácil de montar a resposta.

    Nicolas Fernandes   03 de jan de 2015
  • Olá FCCD editei a minha pergunta colocando os código, grato pela ajuda

    Marlyson   04 de jan de 2015
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags asp.net-mvc c# .net ou faça a sua própria pergunta.