我有加載產品數據的視圖。當我按「添加到購物籃」按鈕,我想在同一頁面重新加載,但我得到的錯誤,如:用重新加載的錯誤數據加載視圖時出現的數據
Object reference not set to an instance of an object.
查看:
@model List<Ecommerce.Models.HomeModels.Product>
@foreach (Ecommerce.Models.HomeModels.Product product in Model)
{ // above error points here!!!!!!!!!!!
using (Html.BeginForm())
{
<input type="hidden" name="productId" value="@product.ID" />
<input type="submit" value="Add to Basket"/>
}
}
控制器:
public ActionResult BuyProducts()
{
List<Models.HomeModels.Product> products = new List<Models.HomeModels.Product>();
using (var reader = command.ExecuteReader())
{
while (reader.Read())
{
//Method to load data into products
}
}
TempData["products"] = products;
return View(products);
}
[HttpPost]
[AllowAnonymous]
public ActionResult BuyProducts(string productID)
{
string id = productID;
return View(TempData["products"]);
}
謝謝,這正是我所尋找的。 – Neeta
由於他陳述的原因,這其實是正確的方法。您可以將產品列表緩存在某處,以便每次重定向時不要調用數據庫,但這是一個單獨的主題。 –
我會如何緩存它?或者你可以請我重定向到一些資源? – Neeta