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 多选列表框和选中列表框的主要内容,如果未能解决你的问题,请参考以下文章

Excel 下拉框是不是可以作为带有多选复选框的列表框?

Jquery获取列表中的值和input单选多选框控制选中与取消

如何在 C#(Winform)中仅使用鼠标制作多选列表框?

持久选择多选列表框条目

如何获得MFC列表框中选中的数据

VB中可通过列表框的啥来取得列表框中被选中的选项?