这是我的控制器,我使用主键作为字符串。
当我点击详细链接时,员工发送到控制器和控制器搜索由id员工获取并返回带有员工详细信息的部分视图
public ActionResult Details(string id)
{
var data = oj.GetById(id);
return PartialView("~/Views/Partial/Details.cshtml", data);
}
这是我的观点
@model HIRS_System.Models.Details
<fieldset>
<legend>Details</legend>
<div class="display-label">
@Html.DisplayNameFor(model => model.dept_id)
</div>
<div class="display-field">
@Html.DisplayFor(model => model.emp_id)
</div>
<div class="display-label">
@Html.DisplayNameFor(model => model.emp_fname)
</div>
<div class="display-field">
@Html.DisplayFor(model => model.emp_fname)
</div>
.... // other properties
<div class="display-label">
@Html.DisplayNameFor(model => model.dept_id)
</div>
<div class="display-field">
@Html.DisplayFor(model => model.dept_id)
</div>
</fieldset>
数据库GetById
代码
public IEnumerable<Employee> GetById(string id)
{
return obj.Employees.Where(x => x.emp_id == id);
}
我的问题是何时单击详细信息按钮部分视图显示此错误
如果我使用@model IEnumerable<HIRS_System.Models.Details>
然后显示此错误
答案 0 :(得分:1)
我假设您希望GetById()
返回零个或一个员工,因此请更改方法以返回Employee
:
public Employee GetById(string id)
{
return obj.Employees.FirstOrDefault(x => x.emp_id == id);
}
然后将视图更改为实际使用该类型:
@model DataLayer.Employee