MVC 4 多选列表框和选中列表框
Posted
技术标签:
【中文标题】MVC 4 多选列表框和选中列表框【英文标题】:MVC 4 Multi-Select List Box and Checked List Box 【发布时间】:2012-12-25 19:27:49 【问题描述】:我想做一个由 Sivaraman Dhamodharan 在 MVC 4 asp.net 中完成的类似实现,他的文章位于:http://www.codeproject.com/Articles/139792/Multi-Select-List-Box-and-Checked-List-Box
我是 MVC 4 的新手,我很享受它!
【问题讨论】:
你的问题是什么?请解释一下,你有什么问题。 【参考方案1】:您可以在 MVC 中非常轻松地为“访问区域”和“分配的 ID”(如您在文章中提到的)创建多选框。对于带有复选框的选择框,您可以在 MVC 中创建一个表。
请按照以下步骤操作。
假设页面的视图模型是AssignWorkViewModel,产品的视图模型是ProductViewModel。
public class AssignWorkViewModel
public List<ProductViewModel> Products get; set;
public class ProductViewModel
public int ProductId get; set;
//used to bind the checkbox value in the view
public bool IsSelected get; set;
public string ProductName get; set;
假设动作方法名是“AssignWork”
public ActionResult AssignWork()
AssignWorkViewModel model = new AssignWorkViewModel();
List<ProductViewModel> products = new List<ProductViewModel>();
//let's add some values
ProductViewModel samsungMonitor = new ProductViewModel();
samsungMonitor.ProductId = 1;
samsungMonitor.IsSelected = false;
samsungMonitor.ProductName = "Samsung Monitor";
products.Add(samsungMonitor);
ProductViewModel sonyDvd = new ProductViewModel();
sonyDvd.ProductId = 2;
sonyDvd.IsSelected = false;
sonyDvd.ProductName = "Sony DVD";
products.Add(sonyDvd);
ProductViewModel motherBoard = new ProductViewModel();
motherBoard.ProductId = 3;
motherBoard.IsSelected = false;
motherBoard.ProductName = "Pentium Mother Board";
products.Add(motherBoard);
model.Products = products;
//pass model to the view
return View(model);
观点,
@model SelectBoxTest.ViewModels.AssignWorkViewModel
<table>
@foreach (var item in Model.Products)
<tr>
<td>@html.HiddenFor(model => item.ProductId)</td>
<td>@Html.CheckBoxFor(model => item.IsSelected)</td>
<td>@Html.DisplayFor(model => item.ProductName)</td>
</tr>
</table>
结果,
我认为这可能会帮助您开始。
【讨论】:
以上是关于MVC 4 多选列表框和选中列表框的主要内容,如果未能解决你的问题,请参考以下文章