Оператор foreach не может работать с переменными типа «Customers», потому что нет общедоступного определения экземпляра для «GetEnumerator» - PullRequest
0 голосов
/ 28 апреля 2019

Я пытаюсь отправить перечисляемый объект customer в ViewResult в представление Index клиентов.но я не могу использовать foreach с моделью на странице просмотра.Ошибка, связанная с моделью, говорит -

"оператор foreach не может работать с переменными типа« Клиенты », потому что« Клиенты »не содержат общедоступного определения экземпляра для« GetEnumerator »«

Я пыталсяпереключите код с помощью массива, но проблема остается

public class Customers
    {
        public int Id { get; set; }
        public string Name { get; set; }


    }

//Customer Controller
public class CustomersController : Controller
    {

        public IActionResult Index()
        {
            var customers = GetCustomers();
            return View(customers));
        }

        public IActionResult Details(int id)
        {
            var customer = GetCustomers().SingleOrDefault(c => c.Id == id);

            return View(customer);

        }

         private IEnumerable<Customers> GetCustomers()
         {
             var customer =  new List<Customers>
             {
                 new Customers { Id = 1, Name = "John Smith"},
                 new Customers { Id = 2, Name = "Mary Williams"}
             };

            return customer;
         }


    }

//View page Index

 @foreach (var customer in Model)
        {
            <tr>
                <td><a asp-area="" asp-controller="Customers" asp-action="Details">@customer.Name</a></td>
            </tr>
        }

Ошибка, отображаемая в модели при выполнении операторов foreach, должна выводить имя клиентов соответственно

1 Ответ

0 голосов
/ 28 апреля 2019

В связи с этим вы описываете модель как отдельный объект Customer.

Измените ваше мнение:

@model IEnumerable<Vidly.Model.Customer>

Или:

@model List<Vidly.Model.Customer>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...