У вас есть список (или перечисление) клиентов и одного клиента. Это начинается со следующей строки:
YeagerTechWcfService.Customer custs = db.GetCustomers();
В декларации слева четко указано, что это один клиент, а название метода справа указывает на то, что вы ожидаете список клиентов.
В представлении вы объявляете модель единственным клиентом:
@model YeagerTech.YeagerTechWcfService.Customer
Но тогда вы не используете строго типизированную переменную экземпляра Model
, а вместо этого используете нетипизированное свойство ViewData.Model
и приводите его к тому, чем оно не является (таким образом, получая ошибку).
В нынешнем виде db.GetCustomers()
возвращает одного клиента (не список с одним клиентом). Поэтому удалите из представления цикл foreach и просто напишите:
@if (Model != null)
{
<p>@Model.FirstName @Model.LastName</p>
...
}
Другой подход - исправить db.GetCustomers()
, чтобы он действительно возвращал список клиентов. Затем вы должны изменить свой контроллер на:
List<YeagerTechWcfService.Customer> customerList = db.GetCustomers();
return View("Index", customerList );
и ваш взгляд:
@model List<YeagerTech.YeagerTechWcfService.Customer>
@if (Model != null)
{
foreach (YeagerTech.YeagerTechWcfService.Customer item in Model)
{
<p>@item.FirstName @item.LastName</p>
....
}
}
Нет необходимости использовать ViewData.Model
или набирать тип. Они просто охватывают несоответствия типов.