ASP.NET MVC - Html.DropDownList - Valor no establecido a través de ViewData.Model

Acabo de empezar a jugar con ASP.NET MVC y tropecé con la siguiente situación. Se parece mucho a un error, pero si no es así, se agradecería una explicación :)

La vista contiene cosas bastante básicas

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

Cuando no se usa un modelo, el valor y el elemento seleccionado se establecen como se esperaba:

//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();
}

Pero cuando se intenta cargar a través de un modelo, el cuadro de texto tiene el valor establecido como se esperaba, pero el menú desplegable no obtiene un conjunto de elementos seleccionado.

//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);
}

¿Algunas ideas? Mi opinión actual al respecto es que tal vez cuando se usa un modelo, estamos restringidos a configurar el elemento seleccionado en el constructor SelectList en lugar de usar viewdata (que funciona bien) y pasar la lista de selección con el modelo, lo que tendría el beneficio de limpiar un poco el código, solo me pregunto por qué este método no funciona ...

Muchas gracias por las sugerencias

Respuestas a la pregunta(7)

Su respuesta a la pregunta