ASP.NET MVC:模型中的空集合

时间:2015-07-25 13:57:42

标签: c# asp.net asp.net-mvc

您好, 我是ASP.NET MVC的新手,我有一些问题。

我制作了一些在数据库中搜索产品的程序,如果点击的话 按钮“结束”,程序显示我以前搜索过的产品列表。**

这是来自controler的代码:

private ProductManager pm = new ProductManager();
private PointOfSaleContext db = new PointOfSaleContext();



public ActionResult Detail(SearchProduct productCode)
        {
            if (!ModelState.IsValid)
            {
                return RedirectToAction("Index", "Home");
            }
            else
            {
               //searching product in data base
                var searchingProduct = db.Products.Where(p => p.ProductId == productCode.Code).Single();
                int id = searchingProduct.ProductId; 

                //add searched product to model
                SingleProduct product = new SingleProduct();
                product.product = searchingProduct;

               //I send product Id to ProductManager method
                pm.AddToList(id);

                return View(product); 
            }
        }

   public ActionResult List()
   {
        //object of model
       AllItems all = new AllItems();

      //
       all.productList = pm.list;
       return View(all);
   }

这是我的班级,我在其中创建了产品列表

public class ProductManager
    {
        private PointOfSaleContext db = new PointOfSaleContext();
        public List<product> list;

        public ProductManager()
        { 
            list = new List<product>();

        }
        public void AddToList(int id) 
        {
            var product = db.Products.Where(p => p.ProductId == id).SingleOrDefault();
            list.Add(product);

        }        
    }

控制器列表视图:

@model PointOfSale.ViewModel.AllItems

<ul>

    @foreach (var p in  Model.productList)
    {
       <li> @p.ProductName <li>
    }
</ul>

我的ViewModel:

 public class AllItems
    {
        public List<Product> productList { get; set; }
    }
    public class SingleProduct
    {
        public Product product;
    }

问题是,我无法从AddToList视图中的ICollection读取数据。 更确切地说 - 视图列表中的模型是空的,我不知道为什么。

0 个答案:

没有答案