C# MVC4-复选框列表与数据库表动态绑定

C# MVC4-复选框列表与数据库表动态绑定,c#,asp.net-mvc,asp.net-mvc-4,razor,checkbox,C#,Asp.net Mvc,Asp.net Mvc 4,Razor,Checkbox,我不太熟悉MVC?任何人都可以在MVC中共享关于如何实现与数据库表动态绑定的复选框的伪代码吗?这就是我的表的定义方式,这是我试图在视图中获得的输出 Table - Produce ProduceID, Produce Name, Produce Type 1 Banana Fruit 2 Apple Fruit 3 Okra Vegetable

我不太熟悉MVC?任何人都可以在MVC中共享关于如何实现与数据库表动态绑定的复选框的伪代码吗?这就是我的表的定义方式,这是我试图在视图中获得的输出

Table - Produce
  ProduceID, Produce Name, Produce Type
    1             Banana        Fruit
    2             Apple         Fruit
    3             Okra          Vegetable
    4             Onion         Vegetable
查看输出

Fruit
   checkbox Banana
   checkbox Apple
Vegetable
   Checkbox Okra 
   checkbox Onion
从复选框中选择的值需要发送到控制器


感谢您的帮助。

如果您使用的是实体框架,则可以执行以下操作: //创建视图模型:

  public class ProductVM
  {
     string Produce_Name {get; set;}
     string Produce_Type {get; set;}
  }
//在数据访问层中: //它将从表中获取您的数据

  public IEnumerable<ProductVM> GetAllProductList()
  {
    @using(DBContext context = new DBContext() ) 
    {
      return context.Produce.Select( p => new ProductVM () { Produce_Name = v.ProductName; Produce_Type = v.ProduceType;} ).ToList<>(ProductVM) ;
    }
  }
//在视图中,按如下方式访问ViewBag:

 @{
    var ProductList = (IEnumerable<ProductVM>)ViewBag.ProductList;
  }


  @foreach(var p in ProductList)
  {
    @Html.CheckBox(p.Produce_Name, false, new { value = p.Produce_Type });
  }
@{
var ProductList=(IEnumerable)ViewBag.ProductList;
}
@foreach(产品列表中的var p)
{
@复选框(p.product\u Name,false,new{value=p.product\u Type});
}

希望这有帮助。

您可以这样做:

控制器

[HttpGet]
public ActionResult Products()
{
    List<ProductModel> products = GetProducts();
    return View(products);
}

[HttpPost]
public AcionResult Products(List<ProductModel> products)
{
    for each (var prd in products) { if prd.IsChecked }
    ... Do something else
}
查看

@model List<ProductModel>
<form>
   @for (int i = 0; i <= Model.Count; i++)
    {
           @Html.TextBlockFor(m => Model[i].ProductName)
            @Html.CheckBoxFor(m => Model[i].IsChecked)
     }
     <input type"submit" />
<\form>
@型号列表
@对于(int i=0;i模型[i].ProductName)
@Html.CheckBoxFor(m=>Model[i].IsChecked)
}
public class ProductModel
{ 
    String ProductName
    String CategoryName
    Bool IsChecked
}
@model List<ProductModel>
<form>
   @for (int i = 0; i <= Model.Count; i++)
    {
           @Html.TextBlockFor(m => Model[i].ProductName)
            @Html.CheckBoxFor(m => Model[i].IsChecked)
     }
     <input type"submit" />
<\form>