Нельзя ссылаться на выбранное значение из раскрывающегося списка, используя код на стороне сервера (который представляют собой HTML-помощники), поскольку выбор выполняется пользователем на стороне клиента. Ваша проблема связана с тем, что вы пытаетесь создать привязку, которая должна отправлять значение, известное только клиенту. Вы можете сделать это только с помощью JavaScript. Или другой вариант - просто использовать форму с кнопкой отправки изображения:
@using (Html.BeginForm("ParadigmEdit", "ControllerName"))
{
@Html.DropDownListFor(
model => model.Entry.ParadigmId,
// WARNING: this code definetely does not belong to a view
((IEnumerable<Pylon.Models.Paradigm>)ViewBag.PossibleParadigms).Select(option => new SelectListItem {
Text = (option == null ? "None" : option.Name),
Value = option.ParadigmId.ToString(),
Selected = (Model != null) && (option.ParadigmId == Model.Entry.ParadigmId)
}),
"Select"
)
<input type="image" alt="ParadigmEdit" src="@Url.Content("~/Content/Images/Edit_Icon.gif")" />
}
и, конечно, после того, как вы переместите некрасивый код туда, где он принадлежит (слой отображения или модель представления), ваш код станет:
@using (Html.BeginForm("ParadigmEdit", "ControllerName"))
{
@Html.DropDownListFor(
model => model.Entry.ParadigmId,
Model.ParadigmValues,
"Select"
)
<input type="image" alt="ParadigmEdit" src="@Url.Content("~/Content/Images/Edit_Icon.gif")" />
}