我如何获得逗号动画(拆分)字符串值并将其传递给控制器​​?

时间:2016-03-03 17:57:38

标签: javascript ajax asp.net-mvc

我有一个名为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而言,我需要一个明确的解决方案,在此先感谢。

2 个答案:

答案 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'是突出显示所选项目的类。