DropDownListFor, selected = true funktioniert nicht

Select funktioniert bei mir nicht mit DropDownListFor. Kann mir jemand helfen?

Ich habe Musikkategorien und Künstler, die zu einer Musikkategorie gehören. Auf meiner Seite möchte ich Interpreten-Details anzeigen und die Dropdown-Liste soll alle Musikkategorien mit der ausgewählten Musikkategorie der angegebenen Interpreten laden. Ich kann jedoch keine bestimmte Option in der Dropdown-Liste auswählen. Die erste Option ist immer zuerst ausgewählt.

Mein Controller:

public ActionResult Index()
{
      ClassLibrary.Artist a = GetArtist();
      System.Collections.Generic.List<System.Web.Mvc.SelectListItem> items = getGenres();
      string genre = a.MusicCategory;
      foreach (SelectListItem sli in items)
      {
          if (sli.Text == genre)
          {
              sli.Selected = true;
          }
      }
      ViewBag.MusicCategory = items;
      return View(a);
}

Mein erstes Model:

public class MusicCategory
{
    public int MusicCategoryID { get; set; }
    public string MusicCategoryName { get; set; }
}

Mein zweites Modell:

public class Artist
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string City { get; set; }
        public string Country { get; set; }
        public string Description { get; set; }
        public string MusicCategory { get; set; }
        public int MusicCategoryID { get; set; }
        public int Contact { get; set; }
        public string InformationToCrew { get; set; }
        public string Agreement { get; set; }
        public string WantedStage { get; set; }
        public string AgreementAccepted { get; set; }
        public string PublishingStatus { get; set; }
        public string ApplicationStatus { get; set; }
        public int? ActiveFestival { get; set; }
        public string ImageURL { get; set; }
        public string URL { get; set; }
        public string FacebookEvent { get; set; }
        public int Score { get; set; }
        public List<GroupMember> GroupMembers { get; set; }
    }

Meine Sicht:

@Html.DropDownListFor(model => model.MusicCategory, (System.Collections.Generic.List<System.Web.Mvc.SelectListItem>)ViewBag.MusicCategory)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage