views:

85

answers:

2

I want put in a selected list labels the name and surname of people of an EF model. I've tried with this:

public ActionResult Insert()
        {
            ViewData["accountlist"] = new SelectList(time.Anagrafica_Dipendente.ToList(), "ID_Dipendente", "Surname Name", null);             
            Giustificativi g = new Giustificativi();
            return View(g);
        }

but VS returns an error, because there isn't a attribute called "surname name". how can i concat the name and surname in the selectlist label?

thanks

+1  A: 

you could do something like this:

ViewData["accountlist"] = 
    new SelectList((from s in time.Anagrafica_Dipendente.ToList() select new { ID_Dipendente=s.ID_Dipendente,FullName = s.Surname + " " + s.Name}), "ID_Dipendente", "FullName", null);
coderguy123
+2  A: 

Add a new property to time.Anagrafica_Dipendente which will represent the concatenation of the two properties:

public string Fullname 
{
    get 
    {
        return string.Format("{0} {1}", Surname, Name);
    }
}

and then use this:

ViewData["accountlist"] = new SelectList(
    time.Anagrafica_Dipendente.ToList(), 
    "ID_Dipendente", 
    "Fullname", 
    null
); 
Darin Dimitrov
In order for that to work, `Fullname` would have to be a member of `time.Anagrafica_Dipendente`.
Robert Harvey
Yes that's correct. I should have specified this.
Darin Dimitrov