@model IEnumerable<SportsStore.Domain.Entities.Product>.....this is my view List.cshtml
@{
ViewBag.Title = "Products";
}
@foreach (var j in Model) //getting error at Model
{
<div class="item">
<h3>@j.Name</h3>
@j.Description
<h4>@j.Price.ToString("C")</h4>
</div>
}
在我可以准备数据库的部分之前的专业Asp.Net MVC3第7章中的sportstore示例
这是我的控制器
public class ProductController : Controller
{
public ProductController()
{
}
//
// GET: /Product/
private IProductRepository repository;
public ProductController(IProductRepository productrepository)
{
repository=productrepository;
}
public ViewResult List()
{
return View();
}
答案 0 :(得分:1)
当你通过IEnumerable
时,你应该将它作为List或类似的东西传递,例如你的索引操作方法应该是这样的:
public ActionResult Index()
{
return View(_dbContext.Product.ToList());
}
答案 1 :(得分:0)
你需要初始化我想象的模型,就像我们在C#中做的那样: 假设我们有一个类,那么我们初始化类似:
Model m1= new Model();
确保您也检查了所有要传递的项目的空值。
答案 2 :(得分:0)
在EFDbContext类中,我继承了DbConntext并且对我有用,希望它对你也有所帮助:
using SportsStore.Domain.Entities;
using System.Data.Entity;
namespace SportsStore.Domain.Concrete
{
public class EFDbContext : DbContext
{
public DbSet<Product> Products { get; set; }
}
}