我首先使用EF模型并在MVC中使用viewmodels,我遇到此错误的问题:
The model item passed into the dictionary is of type 'System.Collections.Generic.List`1[NKI3.Models.Question]',but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable`1[NKI3.viewmodels.IndexCreateviewmodel]'.
这是我的viewmodel:
public class IndexCreateviewmodel { public string QuestionText { get; set; } public string Sname { get; set; } public string Cname {get;set;} }
这是我在我的控制器中的动作:
public ActionResult Index() { var Q = db.Question.Include(a => a.SubjectType).Include(a => a.CoreValue); return View(Q.ToList()); }
这是我的强类型视图:
@model IEnumerable<NKI3.viewmodels.IndexCreateviewmodel> <h2>Index</h2> <p> @Html.ActionLink("Create New","Create") </p> <table> <tr> <th> QuestionText </th> <th> Sname </th> <th> Cname </th> <th></th> </tr> @foreach (var item in Model) { <tr> <td> @Html.displayFor(modelItem => item.QuestionText) </td> <td> @Html.displayFor(modelItem => item.Sname) </td> <td> @Html.displayFor(modelItem => item.Cname) </td> </tr> } </table>
我似乎没有找到解决方案,我是否必须在控制器动作索引中返回我的viewmodel?任何帮助表示赞赏.
提前致谢!
最好的祝福!