我有一张员工表。从那我想在列表框中加载员工姓名。我不知道从哪里开始。请指导我。
答案 0 :(得分:1)
一如既往地定义代表您数据的视图模型:
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; }
}
然后是操纵模型的控制器:
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);
}
}
最后在视图中生成一个下拉列表:
<%: Html.DropDownListFor(
x => x.SelectedEmployeeId,
new SelectList(Model.Employees, "Id", "Name")
) %>
如果您想允许多个选择a.k.a ListBox,则需要进行一些更改。首先,您需要在模型中使用一系列员工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")
) %>
答案 1 :(得分:0)
你也可以尝试我的AjaxDropdown助手,并通过jquery Ajax填充你的列表框(你不必知道关于jquery的任何事情)
有一个现场演示,您可以尝试下载