2010-11-17 21 views
1

我有一個員工表。從那我想加載列表框中的員工名稱。我不知道從哪裏開始。請引導我。MVC中的LIstbox 2

回答

1

像往常一樣通過定義,這將代表您的數據視圖模型開始:

public class HomeController : Controller 
{ 
    public ActionResult Index() 
    { 
     var model = new MyViewModel 
     { 
      // TODO: Instead of hardcoding fetch from your repository 
      Employees = Enumerable.Range(1, 5).Select(i => new Employee 
      { 
       Id = i.ToString(), 
       Name = "employee " + i 
      }) 
     }; 
     return View(model); 
    } 
} 

最後生成視圖中的下拉列表:

public class Employee 
{ 
    public string Id { get; set; } 
    public string Name { get; set; } 
} 

public class MyViewModel 
{ 
    public string SelectedEmployeeId { get; set; } 
    public IEnumerable<Employee> Employees { get; set; } 
} 

然後將操作模式控制器:

<%: Html.DropDownListFor(
    x => x.SelectedEmployeeId, 
    new SelectList(Model.Employees, "Id", "Name") 
) %> 

如果你想允許多個選擇又名ListBox幾個變化ar必要的。首先,你需要員工ID陣列在你的模型:

public class MyViewModel 
{ 
    public string[] SelectedEmployeeIds { get; set; } 
    public IEnumerable<Employee> Employees { get; set; } 
} 

然後使用ListBoxFor助手視圖:

<%: Html.ListBoxFor(
    x => x.SelectedEmployeeIds, 
    new SelectList(Model.Employees, "Id", "Name") 
) %> 
+0

嗨達林,謝謝你的回覆..在這裏你提到我的表名(Emp) – RobinHood 2010-11-18 04:16:40

0

,你也可以試試我AjaxDropdown幫手,並通過jQuery的Ajax填充您的列表框(你不必知道jQuery的任何東西)

http://awesome.codeplex.com/

有一個現場演示,你可以嘗試下載

+0

感謝您的回覆.. – RobinHood 2010-11-18 04:18:32

+0

不客氣:) – Omu 2010-11-18 07:19:56