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