سلام استاد
صاحب کار میخواد قبل اینکە مشتری کلید Add To Card بزنە تعداد کالا رو هم وارد کنە بعد اینکە وارد کرد کلید اضافە سبد خرید رو بزنە من هرکاری کردم نتونستم درستش کنم اینتر نتم پیدا نکردم کە هم ایدی محصول هم تعداد محصول برە تو سشن بعدا تو پیش فاکتور نمایش بدە
ID + تعداد باهم بفرستە تو سشن
ممنون میشم اگە بتونی کمکم کنی
یک input بزارید برای دریافت تعداد و سپس بعد از زدن کلید افزودن مقدار این input هم ارسال کنید
خیلی ساده است
مهندس جان مشکل من همینجاست ارسال نمیشە نمیدونم ججوری باید هردورو ارسال کرد :(
کدی که نوشتید رو قرار دهید تا مشکلش رو پیدا کنیم
<div class="col-xs-12 col-md-6">
@{
using (Html.BeginForm("AddToCard", "ShopCart", FormMethod.Post))
{
<input type="hidden" name="Catid1" value="@item.Product_ID" />
<input type="number" id="CountNumber" name="CountMumbers" class="Number" />
}
}
</div>
<div class="col-xs-12 col-md-12">
<a class="btn btn-success" onclick="AddToCart(@item.Product_ID)" role="button">Add to cart</a>
</div>
function AddToCart(id) {
$.ajax({
url: "/ShopCart/AddToCard/" + id,
type: "Get",
}).done(function (result) {
$("#shopcart").html(result);
});
}
public int AddToCard(int id)
{
List<ShopCardItem> cart = new List<ShopCardItem>();
if (Session["ShopCart"] != null)
{
cart = Session["ShopCart"] as List<ShopCardItem>;
}
if (cart.Any(p => p.ProductID == id))
{
int index = cart.FindIndex(p => p.ProductID == id);
cart[index].Count += 1;
}
else
{
cart.Add(new ShopCardItem()
{
ProductID = id,
Count = 1
});
}
Session["ShopCart"] = cart;
return cart.Sum(p => p.Count);
}
برای درج کد از کلید کد ایتور استفاده کنید تا بتونیم بخونیم
<div class="col-xs-12 col-md-6">
@{
using (Html.BeginForm("AddToCard", "ShopCart", FormMethod.Post))
{
<input type="hidden" name="Catid1" value="@item.Product_ID" />
<input type="number" id="CountNumber" name="CountMumbers" class="Number" />
}
}
</div>
<div class="col-xs-12 col-md-12">
<a class="btn btn-success" onclick="AddToCart(@item.Product_ID)" role="button">Add to cart</a>
</div>
function AddToCart(id) {
$.ajax({
url: "/ShopCart/AddToCard/" + id,
type: "Get",
}).done(function (result) {
$("#shopcart").html(result);
});
}
public int AddToCard(int id)
{
List<ShopCardItem> cart = new List<ShopCardItem>();
if (Session["ShopCart"] != null)
{
cart = Session["ShopCart"] as List<ShopCardItem>;
}
if (cart.Any(p => p.ProductID == id))
{
int index = cart.FindIndex(p => p.ProductID == id);
cart[index].Count += 1;
}
else
{
cart.Add(new ShopCardItem()
{
ProductID = id,
Count = 1
});
}
Session["ShopCart"] = cart;
return cart.Sum(p => p.Count);
کلا شما موضوع رو درک نکردید و کد ها یه چیز دیگه است
باید به input ها نام منحصر بدید و اصلا چرا داخل ajax.beginform هستند ؟ بعد چرا function نوشتید وقتی از ajax.beginform استفاده کردید ؟
باید از خود jquery ajax استفاده کنید و بر اساس id اون input مقدار رو دریافت کنید
استاد جان من زیاد وارد نیستم تازە اومدم سمت ویب
در سایت w3scools شروع به مطالعه jquery و سپس ajax بکنید
چشم ممنونم از رهنمایتون