Используя метод расширения и мощь лямбда-выражений, вы можете сделать это:
@Html.DropDownListFor(model => model.FooValue, Model.FooCollection.ToSelectList(x => x.FooText, x => x.FooId))
Метод расширения следующий:
public static class SelectListHelper
{
public static IList<SelectListItem> ToSelectList<T>(this IEnumerable<T> enumerable, Func<T, string> text, Func<T, string> value)
{
var items = enumerable.Select(f => new SelectListItem()
{
Text = text(f),
Value = value(f)
}).ToList();
items.Insert(0, new SelectListItem()
{
Text = "Choose value",
Value = string.Empty
});
return items;
}
}