Mvc popup dropdown

I use this code to populate a dropdown

ViewData["projectType"] = new SelectList  
  (_dataManager.Project.ProjectTypeList(), "Id", "Name");

but what should I do if I want to use not one column of a table, but two or more columns? eg

ViewData["projectType"] = new SelectList  
  (_dataManager.Project.ProjectTypeList(), "Id", "Name1"+"Name2");
+3
source share
3 answers

Just add the property to the model. ViewModel:

public partial class Project
{
    public string FullName 
    {
        get { return Name1 + Name2; }
    }
}

and use this property:

ViewData["projectType"] = new SelectList(
    _dataManager.Project.ProjectTypeList(), 
    "Id", 
    "FullName"
);
+4
source

You can always fill in SelectListmanually.

Something like (I have not tested it):

var list = new SelectList();
var data = _dataManager.Project.ProjectTypeList();

foreach (var d in data){
  list.Add(new SelectListItem  
    (string.Format("{0} {1}",d.Name1,d.Name2), d.Id, isChecked));
}
ViewData["projectType"] = list;
0
source

- :

ViewData["service_lines"] = new SelectList  
     (repository.SubcontractService_Lines(), "Id", "Name"); 

:

    public class SelectService_LineItem  
            {
                public string Name { get; set; }
                public Guid Id { get; set; }
            }

    public IEnumerable<SelectService_LineItem> SubcontractService_Lines() 
    {
        return
            from sl in db.service_lines
            select new SelectService_LineItem
            {
                Name = sl.service_line_name + "" + sl.service_line_name2,
                Id = sl.service_line_id
            };
    }
0

Source: https://habr.com/ru/post/1736906/


All Articles