Я посмотрел везде и попробовал несколько решений, но ни одно из них не сработало. На моем сайте MVC есть раздел корзины и раздел оформления заказа. Я хочу сделать так, чтобы в моем разделе оформления заказа у меня была небольшая секция корзины, чтобы показать корзину.
Это мое частичное представление _CartItems.cshtml
@model IEnumerable<ArrowDefenseSystems.Models.Cart>
@{
ViewBag.Title = "Your Cart";
}
@if (Model != null)
{
foreach (var item in Model)
{
<div class="itemInfo row">
<img class="col-md-3" src="@Url.Content("~/Content/" + @Html.DisplayFor(modelItem => item.productImage))" height="100px">
<div class="CartItemText col-md-9">
<h3>@Html.DisplayFor(modelItem => item.productName)</h3>
<i>$@Html.DisplayFor(modelItem => item.productPrice)</i><br>
Quantity : @Html.DisplayFor(modelItem => item.quantityChosen)<br>
</div>
</div>
<hr />
}
}
Когда я запускаю частичное представление само по себе, оно показывает элементы в порядке, и все работает правильно.
Так я связываю частичное представление с представлением Checkout.cshtml
@model ArrowDefenseSystems.Models.ParentViewModel
...
...
@Html.Partial("_CartItems", Model.Cart)
Когда я запускаю этот код, я получаю следующую ошибку в коде выше:
System.NullReferenceException: 'Object reference not set to an instance of an object.'
System.Web.Mvc.WebViewPage<TModel>.Model.get returned null.
ParentViewModel:
public class ParentViewModel
{
public Checkout Checkout { get; set; }
public Cart Cart { get; set; }
}
Checkout Controller (есть больше, но это не нужно):
[HttpGet]
public ActionResult _CartItems()
{
return PartialView(db.Carts.ToList());
}
public ActionResult Checkout()
{
return View();
}
Я перепробовал много решений, но все они возвращают одну и ту же ошибку. Чего мне не хватает?