Ich arbeite mit EF und MVC, neue Sachen für mich. Ich habe die folgende Klasse:C# MVC - DropDownList aus Klasseneigenschaft füllen
public class Client
{
[Key]
public int ClientId { get; set; }
public Category Category { get; set; }
}
und ich möchte im Blick auf die „Create“ Action, eine wählbare Dropdownlist mit allen Kategorien zu wählen Zusammenhang zeigen.
Ich habe ein Ansichtsmodell auch:
public class CategoryViewModel
{
public int SelectedCategoryId { get; set; }
public IEnumerable<SelectListItem> Categories { get; set; }
}
, die ich in der Steuerung verwenden:
private IEnumerable<SelectListItem> GetCategories()
{
var db = new MyDBContext();
var categories = db.Categories
.Select(x =>
new Category
{
CategoryId = x.CategoryId,
Name = x.Name
});
return new SelectList(categories, "Value", "Text");
}
... und in der Create():
public ActionResult Create()
{
var model = new CategoryViewModel();
model.Categories = GetCategories();
return View(model);
}
ich nicht wissen, wie man das Dropdown in der Ansicht auffüllt:
Danke für die Rettung! (RE5 Zitat)
'@ Html.DropDownListFor (m => m.SelectedCategoryId, Modell .Categories) 'aber Ihre' GetCategories() 'Methode ist falsch und löst eine Ausnahme aus. Verwenden Sie 'return db.Categories.Select (x => new SelectListItem {Wert = x.CategoryId.ToString(), Text = x.Name});' –