Hier ist mein ModellWie SelectListItem Ausgewählte wahr oder falsch zu machen, auf der Grundlage der Bedingung
public class NewsViewModel
{
public NewsViewModel()
{
this.Categories = new List<Category>();
}
public int NewsId { get; set; }
[Required(ErrorMessage = "Please enter News Title")]
public string NewsTitle { get; set; }
public IEnumerable<Category> Categories { get; set; }
}
Ich brauche wahr zu wählenden setzen, wenn id in NewsViewModel.Categories Sammlung vorhanden
private IEnumerable<SelectListItem> GetCategories()
{
return db.Categories .Select(s=>new SelectListItem {
Value=s.Id.ToString(),
Text=s.Name,
Selected = model.Categories.Select(x => x.CategoryId).Contains(s.CategoryId);
}
Und in Ansicht:
@Html.ListBoxFor(s => s.SelectedCategoriesIds, @Model.AllCategories, new { id = "DropDownList2", multiple = "multiple", @class = "form-control" })
Sie haben eine offene Klammer ohne eine Klammer in Ihrem zweiten Code-Snippet FYI. –
Auch, was ist das Problem mit dem, was Sie jetzt haben? Erhalten Sie einen Fehler? Gibt es einfach nicht zurück, was du willst? –
@ChrisH. Ich bekomme Fehler Zusätzliche Informationen: Konnte keinen konstanten Wert vom Typ 'Assignment.Category' erstellen. In diesem Kontext werden nur primitive Typen oder Aufzählungstypen unterstützt. – Lucy