好吧,我之前已经完成了这个代码并且它已经运行了,但是这次它不会工作,请在这里帮助我。我已经在网上搜索了几个小时并测试了很多选项,无法使其正常运行。正如您可能已经猜到的那样,我只希望将我的数据库(用ssms编写)中的所有内容传递给视图,而不会出现错误。我收到很多不同的错误,最新的错误是:
传递到字典中的模型项的类型为System.Collections.Generic.List 1[System.String]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable
1 [FE.Blog]'。
控制器:
public ActionResult Contact()
{
var q = from p in dbBlog.Blog
select p.Description;
return View(q.ToList());
}
观点:
@model IEnumerable<FE.Blog>
@foreach (var item in Model)
{
@item.Description
}
答案 0 :(得分:0)
您只选择了一列p.Description
string
,但您的视图预计模型为IEnumerable<FE.Blog>
。
如果只需要列,请在视图中更改模型:
@model List<string>
@foreach (var item in Model)
{
@item
}
或者如果您希望视图与IEnumerable<FE.Blog>
绑定,那么您必须查询对象而不是仅选择一个属性:
public ActionResult Contact()
{
var q = from p in dbBlog.Blog
select p;
return View(q.ToList());
}
并在视图中:
@model IEnumerable<FE.Blog>
@foreach (var item in Model)
{
@item.Description
}
答案 1 :(得分:0)
我刚刚解决了我的问题,我认为它看起来如此。
问题是我在另一个视图中忘记了另一个表单 using-statement 上面的&#34; @model FE.Blog&#34; 。整个地方都有局部视图,这解释了我一直在收集的错误。
此致