У меня есть представление, отображающее продукты по группам, и его модель является моделью представления, которая содержит продукты и IEnumerable. Моя цель - когда пользователь вводит число в поле ввода productCount, Sum of ProductPrice и Sum of Product product с изменениями скидки, как я могу это сделать? и если я хочу сохранить и отправить эти значения в другое представление, которое называется shoppingBasket, что мне делать?
@using MyProject.Models
@model MyProject.Models.ProductViewModel
@{
ViewBag.Title = "Show Products By Group";
}
<div class="row" style="height:100%">
<!--main content-->
<!-- sidebar -->
<div class="col-md-3 sidebar visible-md-block visible-lg-block" dir="rtl">
<ul class="nav nav-stackedt ">
<li class="active">
<a href="#" class="first">
@Model.Product.ProductSubGroup.ProductSubGroupTitle
</a>
</li>
@foreach (var item in Model.IEProduct)
{
<li>
<a href="/Product/ShowProduct/@item.ProductID">
@item.ProductTitle
</a>
</li>
}
</ul>
</div>
<div class="col-md-9" style="min-height:72%;" dir="rtl">
<div class="page-header">
<h2 style="font-family: Tahoma; color:#01747b;">
@Model.Product.ProductSubGroup.ProductGroup.ProductBrand.ProductBrandTitle
<br /><br />
<small>@Model.Product.ProductSubGroup.ProductGroup.ProductGroupTitle - @Model.Product.ProductSubGroup.ProductSubGroupTitle</small>
</h2>
</div>
<div class="row ">
<table class="table table-bordered table-hover table-striped col-md-11 text-center ">
<tr>
<th>Row</th>
<th>Image</th>
<th>ProductTitle and Details</th>
<th>Size</th>
<th>Price</th>
<th>Discount</th>
<th>Count</th>
<th>Sum</th>
<th>SumWithDiscount</th>
</tr>
@{
int RowCount = 1;
}
@foreach (var item in Model.IEProduct)
{
<tr>
<td>@RowCount</td>
<td><img src="/img/logo.png" width="100" /></td>
<td><a href="/Product/ShowProduct/@item.ProductID" target="_blank">@item.ProductTitle</a></td>
<td>@item.Size</td>
<td value="@item.ProductPrice" class="productPrice">
@if (item.ProductPrice.HasValue)
{
@item.ProductPrice.Value.ToString("0,#")
}
</td>
@if(item.Discounts.Any(d => d.ProductID == item.ProductID))
{
<td class="productDiscount" value="@item.Discounts.First(d => d.ProductID == item.ProductID).DiscountPercent" >
@item.Discounts.First(d => d.ProductID == item.ProductID).DiscountPercent
</td>
}
else
{
<td class="productDiscount" value="0" >
0
</td>
}
@*@Html.Action("shoppingCart","Product",new {productid=item.ProductID })*@
<td>
<input type="number" min="0" class="input" style="width: 70px;"/>
</td>
<td class="Sum">
</td>
<td class="SumWithDiscount">
</td>
</tr>
RowCount++;
}
</table>
</div>
</div>
</div>
@section Script
{
<script>
//function MySum() {
// var percent = $('#productDiscount').attr("value");
// var price = $('#productPrice').attr("value");
// var productcount = document.getElementById('count').value;
// var sum = productcount * price;
// var sumwithdiscount = sum - ((sum * percent) / 100);
// $('#Sum').html(sum);
// $('#SumWithDiscount').html(sumwithdiscount);
//}
$(".input").onKeyUp(function () {
var percent = $('.productDiscount').attr("value");
var price = $('.productPrice').attr("value");
var productcount = $(this).value;
var sum = productcount * price;
var sumwithdiscount = sum - ((sum * percent) / 100);
$(".Sum").each(function () {
$(this).html(sum);
});
$(".SumWithDiscount").each(function() {
$(this).html(sumwithdiscount);
});
});
</script>
Это контроллер
public ActionResult ShowProductByGroup(int id)
{
var ProductViewModel = new ProductViewModel();
ProductViewModel.IEProduct = database.Products.Where(p => p.ProductSubGroupID == id);
ProductViewModel.Product = database.Products.First(p => p.ProductSubGroupID == id);
return View(ProductViewModel);
}
Это ProductViewModel
public class ProductViewModel
{
public IEnumerable<Products> IEProduct { get; set; }
public Products Product { get; set; }
}
в ShoppingBasketView, у меня есть следующие пункты:
и эта корзина покупок Класс:
public class ShowShoppingCart
{
public int ProductId { get; set; }
public string ProductTitle { get; set; }
public int ProductCount { get; set; }
public int? ProductPrice { get; set; }
public int? Sum { get; set; }
public int? SumWithDiscount { get; set; }
public int? TotalSum { get; set; }
public int? TotalsumWithDiscount { get; set; }
public string Size { get; set; }
public int DiscountPercent { get; set; }
}