Ваша модель представления не приспособлена к тому, что вы пытаетесь сделать в представлении (которое в соответствии с вашим вопросом показывает раскрывающийся список и предварительно выбирает значение, основанное на каком-либо свойстве модели представления)
Итак, гораздо более реалистичная модель вида будет такой:
public class TaskEditViewModel
{
public string Completion { get; set; }
public IEnumerable<SelectListItem> Actions
{
get
{
return new[]
{
new SelectListItem { Value = "close", Text = "Close Task" },
new SelectListItem { Value = "open", Text = "Reopen Task" },
};
}
}
}
тогда у вас может быть действие контроллера, которое заполнит и передаст эту модель представления в представление:
public ActionResult Foo()
{
var model = new TaskEditViewModel();
// this will automatically preselect the second item in the list
model.Completion = "open";
return View(model);
}
и, наконец, внутри вашего строго типизированного представления вы можете использовать помощник DropDownListFor
для рендеринга этого выпадающего списка:
@model TaskEditViewModel
@Html.DropDownListFor(x => x.Completion, Model.Actions)