【发布时间】:2014-09-24 18:56:37
【问题描述】:
这是 SO 上的常见错误,但我似乎无法修复该错误 传入字典的模型项是“System.String”类型的,但该字典需要一个“System.Collections.Generic.IEnumerable`1[ITEye.ViewModels.IssueViewModel]”类型的模型项。任何故障排除帮助将不胜感激
视图模型
public class IssueViewModel
{
public int ItemId { get; set; }
public string Name { get; set; }
public string ItemLocation { get; set; }
public string UserName { get; set; }
}
控制器
public ActionResult Issueds()
{
var query = Issue();
return View(query);
}
public IEnumerable Issue()
{
var issued = from item in db.Items
join issues in db.Issues on item.ItemId equals issues.ItemId
join users in db.Staffs on issues.StaffId equals users.StaffId
where issues.StaffId == users.StaffId
select new IssueViewModel()
{
ItemId = item.ItemId,
Name = item.ItemName,
ItemLocation = item.Location.LocName,
UserName = users.StaffName
};
return issued.AsEnumerable();
}
查看
@model IEnumerable<ITEye.ViewModels.IssueViewModel>
@foreach (var item in Model) {
<p>
@item.Name
</p>
}
【问题讨论】:
-
我将一些与您的代码基本相同的东西放在一起,并且运行良好。你确定没有其他东西会改变 Controller 和 View 之间的 Model,比如 ActionFilter 什么的吗?
-
我想知道为什么这个问题因为没有研究工作而被否决。
标签: c# asp.net-mvc-4 asp.net-mvc-viewmodel