1
@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>
}

pro 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();
        }
4

3 回答 3

1

当你通过时,IEnumerable你应该将它作为 List 或类似的东西传递,例如你的索引操作方法应该是这样的:

public ActionResult Index()
{
  return View(_dbContext.Product.ToList());
}
于 2013-06-20T18:05:47.520 回答
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; }
    }
}
于 2013-07-24T12:17:49.500 回答
0

我想你需要初始化模型,就像我们在 C# 中所做的那样:假设我们有一个类,然后我们像这样初始化:

Model m1= new Model();

确保您还检查了您传递的所有项目的空值。

于 2013-06-20T17:01:41.800 回答