Как отправить данные и изображения с jquery в Model to Model.? - PullRequest
0 голосов
/ 14 марта 2020

Я хочу отправить цену, имя, идентификатор и первое изображение из 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;
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...