【发布时间】:2014-12-11 23:23:34
【问题描述】:
我的代码如下:
在页面上,我有一个产品列表,其中包含该产品的复选框、代码和名称。 选择多个复选框时,在提交单击时,我需要获取选定的复选框值并将其保存在db。
中。产品视图模型类:
public class ProductVM
{
public ProductVM()
{
this.ProductsList = new List<Product>();
}
public List<Product> ProductsList { get; set; }
public class Product
{
public bool IsSelected { get; set; }
public string Code { get; set; }
public string Name { get; set; }
}
}
产品控制器:
[HttpGet]
public ActionResult Edit()
{
var model = new ProductVM();
var product1 = new ProductVM.Product
{
Code = "Product1",
Name = "Apple"
};
var product2 = new ProductVM.Product
{
Code = "Product2",
Name = "Banana"
};
model.ProductsList.Add(Product1);
model.ProductsList.Add(Product2);
return View(model);
}
[HttpPost]
public ActionResult Edit(ProductVM model)
{
if (model.ProductsList.Any(m => m.Selected))
{
//How to get the selected Code & Name here
}
}
产品视图:
@model ProductVM
@using(Html.BeginForm())
{
foreach (var item in Model.ProductsList)
{
@Html.CheckBox("IsSelected", item.IsSelected)
@Html.Label(item.Code)
@Html.Label(item.Name)
}
<input type="submit" />
}
【问题讨论】:
-
为您的复选框创建相同的名称,并将 id 放入 Value 属性中 - 然后在提交时您将得到它们以逗号分隔
-
我怎样才能在模型本身中得到它而不使用表单集合。
标签: asp.net-mvc-4