Я использую Mvc Music Store в корзине в своем приложении Mvc для электронной коммерции. Функция «Добавить в корзину» прекрасна, прежде чем добавить атрибут «Размер» в таблицу «Корзина».Расширение Mvc Music Store Корзина
Я 3 продуктов в моей таблице продукции:
- "Имя: Polo T-рубашка, Количество: 40, Цена: 15, Размер: S, M, L"
- «Имя: Футболка, Количество: 20, Цена: 10, Размер: M, L»
- "Имя: рубашка, Количество: 10, Цена: 25, Размер: XS, M, L"
Я ve отобразили эти размеры в раскрывающемся списке, чтобы пользователь мог выбрать размер, а затем добавить в корзину.
Проблема: Когда я выбираю размер из раскрывающегося списка и нажимаю кнопку «Добавить в корзину», он не сохраняет размер в таблице «Корзина» в базе данных.
Посмотреть
@model FypStore.Models.Product
@Html.DropDownListFor(m => m.Size, new SelectList(Model.Size.Split(new char[] { ',' })))
<span>PKR @Html.DisplayFor(model => model.Price)</span>
<br />
<br />
<button type="button" class="btn btn-fefault cart">
<i class="fa fa-shopping-cart"></i>
@Html.ActionLink("Add to cart", "AddToCart", "ShoppingCart", new { id = Model.ProductId }, "")
</button>
Контроллера Я использовал полную корзину контроллер от Mvc Music Store Примера, так лишь часть контроллера здесь.
Я добавил эту строку string size = "Small"; и он отлично работает, он хранит «Малый» в атрибуте «Размер» таблицы «Корзина». Но я хочу, чтобы это значение выбиралось из Dropdownlist.
public ActionResult AddToCart(int id)
{
// Retrieve the album from the database
var addedAlbum = storeDB.Products.Single(prod => prod.ProductId == id);
string size = "Small";
// Add it to the shopping cart
var cart = ShoppingCart.GetCart(this.HttpContext);
cart.AddToCart(addedAlbum, size);
// Go back to the main store page for more shopping
return RedirectToAction("Index");
}
ShoppingCart.cs
public void AddToCart(Product product, string size)
{
// Get the matching cart and album instances
var cartItem = storeDB.Carts.SingleOrDefault(
c => c.CartId == ShoppingCartId
&& c.ProductId == product.ProductId);
if (cartItem == null)
{
// Create a new cart item if no cart item exists
cartItem = new Cart
{
ProductId = product.ProductId,
CartId = ShoppingCartId,
Count = 1,
Size = size
};
storeDB.Carts.Add(cartItem);
}
else
{
// If the item does exist in the cart, then add one to the quantity
cartItem.Count++;
}
// Save changes
storeDB.SaveChanges();
}
Благодарим за ответ, где я должен определить эту функцию SetSize? и как ? Я имею в виду, что это не ActionResult? –
это функция JavaScript, вы можете добавить ее в тег – Ravi
это решение не работает. –