Asp.net mvc 4 ASP.NET MVC 4多选列表

Asp.net mvc 4 ASP.NET MVC 4多选列表,asp.net-mvc-4,Asp.net Mvc 4,我是ASP.NET MVC4的新用户。我正在做最后一个项目,我正在创建MVC4 web应用程序 在我的web应用程序中,当我创建新项目时,我应该选择多个员工。我对多选名单做了研究,但没有结果 你能为我提供一个循序渐进的指导,如何实现我的上述目标 我应该如何更改我的项目模型 public partial class Project { public Project() { this.Tasks = new HashSet<Task>(); }

我是ASP.NET MVC4的新用户。我正在做最后一个项目,我正在创建MVC4 web应用程序

在我的web应用程序中,当我创建新项目时,我应该选择多个员工。我对多选名单做了研究,但没有结果

你能为我提供一个循序渐进的指导,如何实现我的上述目标

我应该如何更改我的项目模型

public partial class Project
{
    public Project()
    {
        this.Tasks = new HashSet<Task>();
    }

    public int Project_ID { get; set; }
    public string Project_Title { get; set; }
    public int Client_Id { get; set; }
    public string Project_Description { get; set; }
    public System.DateTime Project_StartDate { get; set; }
    public Nullable<System.DateTime> Project_EstEndDate { get; set; }
    public string Project_Status { get; set; }
    public int Project_Manager_Id { get; set; }
   **public string Project_Emps { get; set; }**

    public Nullable<System.DateTime> Project_ActualEndDate { get; set; }
    public int Project_Tasks { get; set; }


    public virtual List<Employee> Employees { get; set; }   

}
公共部分类项目
{
公共工程()
{
this.Tasks=new HashSet();
}
公共int项目_ID{get;set;}
公共字符串项目标题{get;set;}
public int Client_Id{get;set;}
公共字符串项目描述{get;set;}
public System.DateTime项目_StartDate{get;set;}
公共可空项目\u EstEndDate{get;set;}
公共字符串项目_状态{get;set;}
公共int项目管理器\u Id{get;set;}
**公共字符串项目_Emps{get;set;}**
可为空的公共项目\u ActualEndDate{get;set;}
公共int项目_任务{get;set;}
公共虚拟列表雇员{get;set;}
}
Project_Emps是存储选定员工姓名的列


以及我的控制器和视图应该是什么样子?

您需要从创建视图模型开始。它需要包含所选员工ID的
IEnumerable
属性

public class ProjectVM
{
  .... // add only those properties of Project that you need to edit

  [Display(Name = "Employees")]
  public int[] SelectedEmployees
  public SelectList EmployeeList { get; set; }
}
然后在控制器中

public ActionResult Create()
{
  var model = new ProjectVM()
  model.EmployeeList = new SelectList(db.Employees, "Emp_Id", "Emp_Name");
  return View(model);
}
那景色呢

@model yourAssembly.ProjectVM
@using(Html.BeginForm())
{
  ....
  @Html.LabelFor(m => m.SelectedEmployees)
  @Html.ListBoxFor(m => m.SelectedEmployees, Model.EmployeeList)
  ....
并发回

public ActionResult Create(ProjectVM model)
{
  // model.SelectedEmployees contains a collection of the selected Employee Emp_Id values

我还有另一个雇员模型,保存雇员的姓名首字母。我应该从数据库中获取员工姓名列表,并将其放入“创建项目”视图的dropdownlist中。当我单击“创建项目”按钮时,所有选中的员工都应保存到项目表的“项目Emps”列中。在Emp\U Id和中选择“是”,然后选择“绑定”和“字符串Emp\U名称”来显示