Html.DropDownList - valor não definido via ViewData.Model do ASP.NET MVC

Começaram a jogar com o ASP.NET MVC e tropeçaram na seguinte situação. Parece muito com um bug, mas se não, uma explicação seria apreciada :)

O View contém coisas bastante básicas

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

Quando não estiver usando um modelo, o valor e o item selecionado são definidos conforme o esperado:

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

Mas, ao tentar carregar por meio de um modelo, a caixa de texto tem o valor definido conforme o esperado, mas o menu suspenso não obtém um conjunto de itens selecionado.

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

Alguma ideia? Meu pensamento atual é que, talvez ao usar um modelo, estamos restritos a definir o item selecionado no construtor SelectList em vez de usar os dados de exibição (que funcionam bem) e passar a lista de seleção com o modelo - o que teria o benefício de limpar um pouco o código - só estou me perguntando por que esse método não funciona ....

Muito obrigado por todas as sugestões

questionAnswers(7)

yourAnswerToTheQuestion