我有一个问题,需要将表单中的列表发送到控制器进行处理和编辑。但是它只破坏了列表,并通过一个空字符串传递。我需要保留列表,以便在控制器中添加内容。
视图如下:
@using (Html.BeginForm("AddToBasket", "Home", FormMethod.Post))
{
@Html.Hidden("product", product.Product)
@Html.Hidden("basketItems", Model.BasketItems)
<h3>@product.Product (£@product.Price)</h3>
<div class="menu-item-quantity">
<h4>Quanitity: @Html.TextBox("quantity", 0, new { @class = "form-control-quantity" })</h4>
</div>
<input class="btn btn-lg" type="submit" value="Add to basket" />
}
控制器:
public ActionResult AddToBasket(string product, int quantity, List<string>basketItems)
{
var products = new GetProductsList<ProductLookup>().Query().ToList();
var Result = new BuyViewModel
{
Products = products,
BasketItems = basketItems.ToList()
};
return View("Buy", Result);
}
以及模型:
public class BuyViewModel
{
public IList<ProductLookup> Products { get; set; }
public List<string> BasketItems { get; set; }
}
我该如何将这个列表作为一个整体传递给控制器?