ASP.NET MVC - Html.DropDownList - значение не устанавливается с помощью ViewData.Model

Только начали играть с ASP.NET MVC и наткнулись на следующую ситуацию. Это похоже на ошибку, но если это не так, объяснение будет оценено :)

Вид содержит довольно простые вещи

<%=Html.DropDownList("MyList", ViewData["MyListItems"] as SelectList)%>
<%=Html.TextBox("MyTextBox")%>

Если модель не используется, значение и выбранный элемент устанавливаются так, как ожидается:

//works fine
public ActionResult MyAction(){
  ViewData["MyListItems"] = new SelectList(items, "Value", "Text"); //items is an ienumerable of {Value="XXX", Text="YYY"}

  ViewData["MyList"] = "XXX"; //set the selected item to be the one with value 'XXX'
  ViewData["MyTextBox"] = "ABC"; //sets textbox value to 'ABC'

  return View();
}

Но при попытке загрузки через модель текстовое поле имеет значение, установленное как ожидалось, но раскрывающийся список не получает выбранный набор элементов.

//doesnt work
public ActionResult MyAction(){
  ViewData["MyListItems"] = new SelectList(items, "Value", "Text"); //items is an ienumerable of {Value="XXX", Text="YYY"}

  var model = new {
    MyList = "XXX", //set the selected item to be the one with value 'XXX'
    MyTextBox = "ABC" //sets textbox value to 'ABC'
  }

  return View(model);
}

Есть идеи? В настоящее время я думаю о том, что, возможно, при использовании модели мы ограничены установкой выбранного элемента в конструкторе SelectList вместо использования viewdata (который работает нормально) и передачей selectlist вместе с моделью - что будет иметь преимущество очистки кода немного - мне просто интересно, почему этот метод не работает ....

Большое спасибо за любые предложения

Ответы на вопрос(7)

Ваш ответ на вопрос