Попробуй так:
var selectList = sortedEntries.Select(entry => new SelectListItem
{
Text = entry.Value,
Value = entry.Id
});
return View(new DropDownListModel
{
// The drop down list is bound to ListId so simply set its value
// to some element value in the list and it will get automatically
// preselected
ListId = selectedValue,
SelectList = selectList,
OptionLabel = "Click to Select"
});
и в представлении:
<%= Html.DropDownListFor(
m => m.ListId,
new SelectList(Model.SelectList, "Value", "Text"),
Model.OptionLabel,
new { @class = "someClass" }
) %>
Возможно, есть еще один момент: вы пытаетесь изменить выбранное значение в действии POST. Например, вы рендерили форму, пользователь выбрал какое-то значение в раскрывающемся списке, отправил форму, и в вашем действии POST вы выполняете некоторую обработку этого выбранного значения, и при повторном отображении представления вы хотите, чтобы в раскрывающемся списке было выбрано какое-то другое значение. , В этом случае вам придется удалить начальный выбор, который содержится в ModelState, или Html помощник проигнорирует выбранное значение в модели:
// do this before returning the view and only if your scenario
// corresponds to what I described above
ModelState.Remove("ListId");