Ответ 1
<%= Html.DropDownListFor(x => x.Items, Model.Items) %>
Вы смешиваете выражения и утверждения. Html helper возвращает строку, поэтому вам нужно использовать =
для вывода "html-value" (и no ;
после него).
Update:
Items = new SelectList(new[]
{
new SelectListItem {Text = "One", Value = "One"},
new SelectListItem {Text = "Two", Value = "Two"},
}, "Text", "Value");
Обновление 2:
Собственно для вашего дела вы можете сделать это еще проще:
public class HomeViewModel
{
public HomeViewModel()
{
Items = new SelectList(new[] { "One", "Two" });
CurrentItem = "Two";
}
public SelectList Items { get; set; }
public string CurrentItem { get; set; }
}
И в представлении:
<%= Html.DropDownListFor(x => x.CurrentItem, Model.Items) %>