2014-03-19 53 views
1

我有一個SuperVisor表單,我需要顯示帶有複選框的員工列表以供選擇。ASP.net中的複選框列表MVC3

當我點擊保存,主管信息和所選擇的員工ID應保存到數據庫中。

哪一個是實現這個目標的最佳選擇?

+1

這裏是最好的選擇http://stackoverflow.com/questions/5284395/checkboxlist-在-MVC3 - 視圖 - 和得到最託運物品-passed到所述控制器?LQ = 1 –

回答

2

型號

public class SelectEmployee 
{ 
    public int _EmployeeID; 
    public string _EmployeeName; 
    public bool _check; 

    public int EmployeeID { get { return _EmployeeID; } set { _EmployeeID = value; } } 
    public string EmployeeName { get { return _EmployeeName; } set { _EmployeeName = value; } } 
    public bool check { get { return _check; } set { _check = value; } } 
} 
public class DemoManager 
{ 
    public static List<SelectEmployee> GetSelectedEmployee() 
    { 
     DemoEntities db = new DemoEntities(); 
     var query = (from i in db.EmployeeMasters 
        select new SelectEmployee { EmployeeID = i.EmployeeID, EmployeeName = i.EmployeeName, check = false }).ToList(); 
     return query; 
    } 
} 

查看

@using(Html.BeginForm()) 
{ 
<table class="table"> 

@for (var i = 0; i < Model.Count; i++) { 
    <tr> 
     <td> 
      @Html.DisplayFor(modelEmployee => modelEmployee[i].EmployeeID) 
     </td> 
     <td> 
      @Html.CheckBoxFor(modelEmployee => modelEmployee[i].check) 
     </td> 
     <td> 
      @Html.DisplayFor(modelEmployee => modelEmployee[i].EmployeeName) 
     </td> 
    </tr> 
}  
</table> 
    <input type="submit" value="click" /> 
} 

控制器

public ActionResult Index() 
    { 

     return View(DemoManager.GetSelectedEmployee()); 
    } 

    [HttpPost] 
    public ActionResult Index(List<SelectEmployee> emp) 
    { 
     var query = (from i in emp 
        where i.check == true 
        select i); 
     // Here you can set the insert statements the query will contain only selected items 

     return View(model); 
    }