Ich habe ein SelectListItem Objekt in meinem Controller deklariert, ich kann sie in meine DropDownList in Create() Seite füllen, aber ich habe Probleme beim Versuch, Wert zu erhalten Vom Modell, um den ausgewählten Wert der DropDownList auf der Edit() -Seite festzulegen.Set-Wert der Dropdown-Liste basierend auf Wert aus der Datenbank in asp.net mvc5
Code of Create() in der Steuerung:
public ActionResult Create()
{
var tagList = new List<SelectListItem>();
tagList.Add(new SelectListItem() { Text = "Classic", Value = "Classic" });
tagList.Add(new SelectListItem() { Text = "Promo", Value = "Promo" });
tagList.Add(new SelectListItem() { Text = "Limited", Value = "Limited" });
tagList.Add(new SelectListItem() { Text = "Classic", Value = "Classic" });
tagList.Add(new SelectListItem() { Text = "New", Value = "New" });
var catList = new List<SelectListItem>();
catList.Add(new SelectListItem() { Text = "Men", Value = "Men" });
catList.Add(new SelectListItem() { Text = "Women", Value = "Women" });
catList.Add(new SelectListItem() { Text = "Sport", Value = "Sport" });
catList.Add(new SelectListItem() { Text = "Casual", Value = "Casual" });
var statusList = new List<SelectListItem>();
statusList.Add(new SelectListItem() { Text = "Available", Value = "Available" });
statusList.Add(new SelectListItem() { Text = "Unavailable", Value = "Unavailable" });
ViewBag.tagDropDown = tagList;
ViewBag.catDropDown = catList;
ViewBag.statusDropDown = statusList;
return View();
}
Ich bin in der Lage die Dropdownlist in aufzufüllen Seite Create() Ansicht mit all dem Viewbag (s).
Aber jetzt wollte ich die DropDownList in Edit() anzeigen Seite gleichzeitig ausgewählten Wert aus dem Modell festlegen.
Im Folgenden sind die Codes von Edit() Seite anzeigen:
<div class="form-group">
@Html.LabelFor(model => model.category, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownListFor(model => model.category, new SelectList(ViewBag.catDropDown, "value", "text"), htmlAttributes: new { @class = "form-control" })
</div>
</div>