2015-04-21 2 views
0

Je suis un nouvel utilisateur de ASP.NET MVC4. Je fais le projet final et je crée l'application Web de MVC4.ASP.NET MVC 4 Multiselectlist

Dans mon application Web lorsque je crée un nouveau projet, je dois sélectionner plusieurs employés. J'ai fait des recherches sur multiselectlist, mais pas de résultat.

Pouvez-vous s'il vous plaît me fournir un guide étape par étape, comment remplir mon objectif indiqué ci-dessus.

Comment changer mon modèle de projet? Project_Emps est la colonne où les noms des employés sélectionnés doivent être stockés.

et à quoi devrait ressembler mon contrôleur et ma vue?

+0

J'ai un autre modèle aussi pour Employé, où les initiales des employés sont enregistrées. Je devrais obtenir la liste des noms d'employés de la base de données et les mettre dans la liste déroulante sur ma vue de projet de création. Et lorsque je clique sur le bouton Créer un projet, tous les employés sélectionnés doivent être enregistrés dans la colonne Project_Emps de la table Project. – Sirin

+0

Oui int Emp_Id et à lier et chaîne Emp_Name à afficher – Sirin

Répondre

0

Vous devez commencer par créer un modèle de vue. Il doit contenir une propriété IEnumerable<T> pour le

de l'employé sélectionné ID
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; } 
} 

Ensuite, dans le contrôleur

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

Et la vue

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

et republier à

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