none
Erro de GetEnumerator ao renderizar uma View RRS feed

  • Pergunta

  • Fiz isso apenas como um teste:

    @model Operador.MVC.Models.OperadorModel
    
    @{
        ViewBag.Title = "Operador";
    }
    
    <table id="tblOperador" class="table table-hover table-striped" border="1" cellspacing="0" style="width: 100%;">
    <thead>
        <tr>
            <th>Code</th>
            <th>NameHealth</th>   
            <th>NameDental</th>
            <th>LastUpdateDate</th>  
            <th>LastUpdateLogin</th>     
            <th>Brand Code</th>    
            <th>Brand</th>         
        </tr>
    </thead>
    <tbody>
    @foreach (var item in Model)
    {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.NameHealth)
            </td>                                             
            <td>
                @Html.TextBoxFor(modelItem => item.NameDental, new { style = "width: 50px;"})
            </td>
        </tr>
    }
    </tbody>

    Quando eu renderizo me dá esse erro:

    Erro de Servidor no Aplicativo '/'.

    Erro de Compilação

    Descrição: Erro ao compilar um recurso necessário para atender esta solicitação. Examine os detalhes específicos do erro e modifique o código fonte apropriadamente.

    Mensagem de Erro do Compilador: CS1579: Instrução foreach não pode operar em variáveis do tipo 'Operador.MVC.Models.OperadorModel' porque 'Operador.MVC.Models.OperadorModel' não contém uma definição pública para 'GetEnumerator'

    Erro de Origem:

    Linha 20: Linha 21: Linha 22: @foreach (var item in Model) Linha 23: { Linha 24:

    Arquivo de Origem: c:\Projetos_MVC\Operador.MVC\Views\Operador\Operador.cshtml Linha: 22

    Mostrar Saída Detalhada do Compilador:

    Mostrar Origem de Compilação Completa:

    Informações sobre a Versão: Microsoft .NET Framework Versão:4.0.30319; Versão do ASP.NET:4.0.30319.34249

    Como eu faço para resolver o problema do GetEnumerator? O que eu devo adicionar? O meu Using sei que está errado, o que devo fazer para corrigir? 

    quinta-feira, 8 de outubro de 2015 17:52

Todas as Respostas

  • Olá,

     a sua Contoller deve retornar uma coleção ! Um List<T>, IList<T>, algo que implemente a interface IEnumerable<T>;

    sexta-feira, 9 de outubro de 2015 10:48
  • Mude a tipagem da sua view para IEnumerable

    @model IEnumerable<Operador.MVC.Models.OperadorModel>


    __________________________________________________________________________________________________________ Atenciosamente, Mike Rodrigues De Lima.

    sexta-feira, 9 de outubro de 2015 11:44