这就是我之前发布的帖子,你可以在这里看到。
must retrieve the list from the database
我试图制作我之前描述过的foreach。但这会导致问题,因为在犯错误的情况下不能运行我的foreach。
Index.cshtml
@foreach (var u in Model)
{
<div class="col-md-6 col-sm-6">
<div class="plan">
<h3>@u.Name<span>$@u.Price</span></h3>
<p>@u.Text</p>
</div>
</div>
}
和 undervisningController.cs
// GET: Undervisning
public ActionResult Index()
{
DatabaseClasseDataContext db = new DatabaseClasseDataContext();
var model = db.Packages.ToList();
return View(model);
}
index.cshtml上的顶部有i:
@model MentorOrdblind_MVC.Models.Undervisning.Undervisning
模型 Undervisning.cs
public class Undervisning
{
public string Name { get; set; }
public decimal Price { get; set; }
public int Hours { get; set; }
public string Text { get; set; }
}
答案 0 :(得分:0)
您的视图是List<T>
,但您的模型不是IEnumerable
的类型。因此,您的视图只期望Undervisning
类型的单个对象而不是集合。
使用此:
@model IEnumerable<MentorOrdblind_MVC.Models.Undervisning.Undervisning>
答案 1 :(得分:0)
将模型演示更改为:
@model IEnumerable<MentorOrdblind_MVC.Models.Undervisning.Undervisning>
此时您的模型是单个类,而不是对象列表
答案 2 :(得分:0)
始终牢记从控制器操作传递到视图的内容。如果仅从动作传递模型,则在动作的相应视图中使用模型参考。如果传递List,则在视图中使用IEnumerable模型引用。
If you pass list from action then in the view use:
@model IEnumerable<your model> in the top as reference
If you pass model without a list then use:
@model your model
在您的情况下,您正在传递列表,因此请使用所需模型类的IEnumerable。
由于