Я звоню Partial View
, используя jQuery как:
$("#cartLi")
.click(function () {
$.post("/ShoppingCart/cartDropDown",
function (data) {
$('.cart-skeleton').replaceWith(data);
$('.cart-dropdown').css('display', 'inline-block');
})
});
Этот код успешно запускает следующее действие в контроллере:
[HttpPost]
public ActionResult cartDropDown()
{
var cart = ShoppingCart.GetCart(this.HttpContext);
var viewModel = new ShoppingCartViewModel
{
CartItems = cart.GetCartItems(),
CartTotal = cart.GetTotal(),
ItemCount = cart.GetCount(),
Message = Server.HtmlEncode("There are no items in your cart. Continue shopping.")
};
foreach (var item in viewModel.CartItems)
{
item.item = db.Items.Single(i => i.ItemID == item.ItemID);
}
return PartialView("_cartDetails", viewModel);
}
Этот код успешно выполняется до самой последней строки (return PartialView("_cartDetails", viewModel);
), а затем до последней закрывающей скобки - и затем прерывается без каких-либо ошибок.
Не уверен, почему это странное поведение.