我有一个名为Products的SQL表,在表格中我有AvailableSizes
类型的NVARCHAR
字段,其中包含产品的所有可用大小。然后我将AvailableSizes
字段的值分开,如下所示:
<p>
<b>Available Sizes</b>
@{
var Availablesize = Model.AvailableSizes.Split(',');
}
@foreach (var item in Availablesize)
{
<div class="circleBase type2">@item</div>
}
</p>
正如您在上面的代码中看到的那样,我将这些数据值放在侧面圆圈中,现在我希望如果有人点击其中一个圈子,其中包含数据应该选择该值,然后如果用户点击AddToCart按钮它应该传递给我的控制器动作,如下所示:
public RedirectToRouteResult AddToCart(Cart cart, int productId, string returnUrl)
{
Product product = repository.Products.FirstOrDefault(p => p.ProductID == productId);
if (product != null)
{
cart.AddItem(product, 1);
}
return RedirectToAction("Index", new { returnUrl });
}
以下是“添加到购物车”按钮背后的代码:
@using (Html.BeginForm("AddToCart", "Cart", new { ProductID = item.ProductID}))
{
@Html.Hidden("returnUrl", Request.Url.PathAndQuery)
<input type="submit" class="btn btn-default add-to-cart" value="Add to cart" />
}
就我刚接触MVC而言,我需要一个明确的解决方案,在此先感谢。
答案 0 :(得分:0)
最好的方法是使用另一个隐藏的帮助程序来选择大小,并通过在Jquery中选择Availablesize
的单击事件来填充它。然后,您可以将其传递给控制器AddToCart
操作。
答案 1 :(得分:0)
您可以在用户选择圈子时添加班级,然后当用户点击添加购物车按钮时使用jquery首先获取所选择的圈值并在操作方法中将数据传递给控制器。
以下是了解逻辑的示例代码
$(document).ready(function(){
$('.circleBase ').click(function(){
$(this).addClass('abc');
})
$('.btn').click(function(){
var result = $('.abc').val();
//
and call your controller
});
});
class'abc'是突出显示所选项目的类。