2013-01-11 143 views

回答

-1

您可以非常容易地在MVC中爲「訪問區域」和「分配標識」(如您在文章中提到的)創建多選框。對於帶有複選框的選擇框,您可以在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> 

結果,

enter image description here

我想這可能會幫助你開始。