Я хочу отправить цену, имя, идентификатор и первое изображение из Model.Images на мой контроллер корзины, но он не работает. У меня есть 3 изображения в моей Model.Images, скажите мне, как решить эту проблему.
Summery Controller
public IActionResult Summery(int id)
{
MobileModel m = new MobileHandler().GetMobile(id).ToModel();
return View(m);
}
Форма класса MobileModel, куда поступают данные
public class MobileModel
{
public MobileModel()
{
Images = new List<string>();
}
public int Id { get; set; }
public string Name { get; set; }
public int Price { get; set; }
public List<string> Images { get; set; }
}
Summery View
@{
@model MobileModel
}
<button type="submit" class="addcartbtn mt-5" data-pid="@Model.Id" data-pname="@Model.Name" data-pprice="@Model.Price" data-purl="@Model.Images[0]" data-pqty="1">
<span class=" fa fa-shopping-cart"> Add To Cart</span>
</button>
Jquery Код
$(".addcartbtn").click(function (e) {
e.preventDefault();
var obj = {
"Id": $(this).data("pid"),
"Name": $(this).data("pname"),
"Price": $(this).data("pprice"),
"Images": $(this).data("purl"),
"Quantity": $(this).data("pqty")
}
$(this).parents("#proditem").fadeOut(300);
$.ajax(
{
url: "/Cart/Add",
type: "GET",
data: obj
}
).done(function (itemscount) {
$("#cartitems").text(itemscount);
});
Класс модели CartM
public class ShoppingCartItem
{
public int Id { get; set; }
public string Name { get; set; }
public int Price { get; set; }
public string Images { get; set; }
public int Quantity { get; set; }
public int Amount {
get {
return Quantity * Price;
}
}
}
Контроллер корзины, где я хочу для отправки данных
public class CartController : Controller
{
[HttpGet]
public int Add(ShoppingCartItem item)
{
ShoppingCart cart = HttpContext.Session.Get<ShoppingCart>(WebUtil.Cart);
if (cart == null) cart = new ShoppingCart();
cart.Add(item);
HttpContext.Session.Set(WebUtil.Cart, cart);
return cart.NumberOfItems;
}