如何在没有IEnumerable的情况下迭代foreach

时间:2017-10-03 11:00:01

标签: asp.net-mvc model-view-controller

如何在没有IEnumerable的情况下迭代foreach

Repo.cs

public Employee GetEmployee(int id)
        {

            var x = (from n in db.Employee
                     where n.Emp_Id==id
                     select n);
            return x.FirstOrDefault();
        }

控制器

public ActionResult GetEmpById(int id)
{
     var x = ObjRepo.GetEmployee(id);

    return View(x);
}

Index.cshtml

我在这里错误传入字典的模型项的类型为' Mvc_Application.Models.Employee',但此字典需要类型为' System.Collections.Generic.IEnumerable`1 [Mvc_Application.Models.Employee]'。

@model IEnumerable<Mvc_Application.Models.Employee>
<table class="table">
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.Email)
        </th>
    </tr>

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.Email)
        </td>
    </tr>
}

</table>

2 个答案:

答案 0 :(得分:0)

这是因为您将单个对象传递给您的视图。并且您认为您正在接受员工的IEnumerable

视野中的变化

@model Mvc_Application.Models.Employee
@*  your code *@

答案 1 :(得分:0)

如果此页面旨在显示来自单个员工的数据,那么,它的模型应为@model Mvc_Application.Models.Employee