How can I combine two fields in a SelectList text description?

后端 未结 3 1266
甜味超标
甜味超标 2020-11-27 16:27

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()
        {
                    


        
相关标签:
3条回答
  • 2020-11-27 17:12

    I was looking for this answer and my easy way is adding a NotMapped attribute, this is my code:

    [NotMapped]
    public string FullName
       {
         get
           {
             return Name + " " + LastName;
           }
       }
    

    Then you can use the normal way in the controller, this is my code, Owner the the foreign key related to AspNetUsers

    ViewBag.Owner = new SelectList(db.AspNetUsers, "Id", "FullName", product.Owner);
    
    0 讨论(0)
  • 2020-11-27 17:20

    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
    ); 
    

    Update: As of C# 6.0, the property can be more concisely written as:

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

    Learn more about expression-bodied properties here.

    0 讨论(0)
  • 2020-11-27 17:26

    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);
    
    0 讨论(0)
提交回复
热议问题