Кажется, что на этот запрос очень мало ответов, поэтому я попробую свои силы.
Из текста немного сложно понять проблему / требование, но если я вас правильно понимаю, вы пытаетесь вернуть значение из выпадающего списка, верно? Если нет, дайте мне знать, и я отредактирую это для лучшего соответствия.
Предполагая, что я прав, однако;
Чтобы настроить раскрывающийся список, я делаю вещи немного иначе. Я не думаю, что это важно, но все равно решил поделиться этим.
У меня есть FormViewModel, как это;
public class CalendarEventFormViewModel
{
public CalendarItem Event { get; set; }
public SelectList States;
}
В моем ActionResult у меня есть следующее, чтобы предоставить Штаты;
fvm.States = new SelectList(Enumerations.EnumToList<Enumerations.AustralianStates>(), "Value", "Key", fvm.Event.state);
Затем я просто возвращаю это в представление.
Вид имеет выпадающий список, как это;
<% using (Html.BeginForm()) { %>
<%=Html.DropDownList("selectedState", Model.States, new { @class="stateSelector" })%>
<%} %>
Итак, теперь у меня есть список штатов. На постбеке я хочу получить выбранное состояние. Итак ...
[AcceptVerbs(HttpVerbs.Post), ValidateInput(false), Authorize]
public ActionResult Add(FormCollection collection)
{
CalendarItem fvm = new CalendarItem();
UpdateModel(fvm);
}
Теперь это работает для меня, и все поля в объекте CalendarItem заполнены.
Однако, если вы не получаете свои значения, вы можете попробовать;
String state = collection["selectedState"];
Опять же, я не уверен, отвечает ли это на ваш запрос, и если нет, пожалуйста, прикрепите комментарий к этому ответу, и я внесу соответствующие изменения.