作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经阅读了关于 SO 的类似问题,但似乎无法弄清楚这个问题,这是特定于 DBContext 对象的(我认为)。这里有一些虚拟代码来说明。
我的 Index() 操作中有以下代码:
public ActionResult Index()
{
AnimalDBContext db = new AnimalDBContext();
return View(db.Dogs);
}
public class Dog
{
public int ID { get; set; }
public string name { get; set; }
public string breed { get; set; }
}
public class AnimalDBContext : DbContext
{
public DbSet<Dog> Dogs { get; set; }
}
@model IEnumerable<AnimalProject.Models.Dog>
@foreach (var d in Model)
{
<h3>@d.name</h3>
<h2>@d.breed</h2>
}
@model IEnumerable<AnimalProject.Models.Dog>
@model IEnumerable<AnimalProject.Models.Cat>
@foreach (var d in Dog)
{
<h3>@d.name</h3>
<h2>@d.breed</h2>
}
@foreach (var c in Cat)
{
<h3>@c.name</h3>
<h2>@c.breed</h2>
}
"The model item passed into the dictionary is of type 'System.Data.Entity.DbSet
1[AnimalProject.Models.Dog]',
1[AnimalProject.Models.Cat]'."
but this dictionary requires a model
item of type
'System.Collections.Generic.IEnumerable
最佳答案
创建自定义 View 模型类怎么样:
public AnimalModel
{
public IEnumerable<Dog> Dogs { get; set; }
public IEnumerable<Cat> Cats { get; set; }
}
AnimalModel
的 View 而不是枚举。
public ActionResult Index()
{
using (var db = new AnimalDBContext())
{
var model = new AnimalModel
{
Dogs = db.Dogs.ToList(),
Cats = db.Cats.ToList()
};
return View(model);
}
}
@model AnimalProject.Models.AnimalModel
@foreach (var d in Model.Dogs)
{
<h3>@d.name</h3>
<h2>@d.breed</h2>
}
@foreach (var c in Model.Cats)
{
<h3>@c.name</h3>
<h2>@c.breed</h2>
}
关于asp.net-mvc - 如何在 ASP.NET MVC 的一个 View 中使用多个模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5829315/
我是一名优秀的程序员,十分优秀!