2016-09-09 5 views
-2

Ich bin auf der Suche nach einer Dropdown-Liste aus einem Viewmodel, die die Daten aus einer Datenbank stammt. Hier ist die kurze Hand von dem, was mein Projekt wie folgt aussieht:asp.net mvc drop-down-Liste von viewmodel

Modell

public partial class Model1 
{ 
    public string FirstName { get; set; } 

    public string LastName { get; set; } 
} 

Model2 - das ist die Info wird die Dropdown-Liste

public partial class Model2 
{ 
    public string typeID { get; set; } 

    public string typeValue { get; set; } 
} 

Diese beiden Modelle werden dann verbunden zu füllen zu einem ViewModel.

Ansichtsmodell

public class viewModel 
{ 
    public Model1 Model1s { get; set; } 

    public Model2 Model2s { get; set; } 
} 

Ich bin nicht in der Lage ein Dropdown-Liste an dieser Stelle mit dem Ansichtsmodell zu erstellen. Ich habe über 50 Beispiele auf dieser Seite durchgekämmt, aber ich kann meine nicht zur Arbeit bringen. Ich weiß, dass die Ansicht etwas in der Form enthält:

@Html.DropDownListFor(m => m.MarketingCampaign , new SelectList(Model.MarketingCampaignType, "CampaignTypeTitle", "CampaignTypeId"), new { id = "yourElementIdIfAny", @class = "yourClassNameIfAny" }) 

wird erforderlich sein. Ich versuche, auch in dem Modell, um den Wert und Text in ein Feld direkt eingeben, damit ich leicht Informationen aus diesem Modell ziehen kann, die an die Steuerung zurückgeführt wird anstelle der Verwendung dieser Methode:

ViewBag.DropDownList = dbContext.Model2.ToList(); 

und diese Informationen abrufen das Formular zurück und Verwendung von vorbei:

string value = form["DropDownList"].ToString() 
+1

http://stackoverflow.com/questions/9882700/how-do-i-create-a-view-model-for-a- bevölkert-drop-down-list-in-asp-net-mvc-3 – mmcrae

Antwort

1

habe ich Beispiel und laden in Github

Source code

public ActionResult Index() 
    { 
     //IsName >> Is name DropDownList 
     //typeID >> Is data value 
     //typeValue >> Is data text 
     ViewBag.IsName = new SelectList(_dbContext.Model2.ToList(), "typeID", "typeValue"); 
     return View(); 
    } 
    public ActionResult ByViewModel() 
    { 
     List<ViewModel> items = _dbContext.Model2.Select(m => new ViewModel() 
     { 
      typeID = m.typeID, 
      typeValue = m.typeValue 
     }).ToList(); 

     //IsName >> Is name DropDownList 
     //typeID >> Is data value 
     //typeValue >> Is data text 
     ViewBag.IsName = new SelectList(items, "typeID", "typeValue"); 
     return View(); 
    } 

@ Html.DropDownList ("ISName")

Verwandte Themen