您好, 我是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读取数据。 更确切地说 - 视图列表中的模型是空的,我不知道为什么。