Я пытаюсь установить значение для Razor DropDownListFor для управления. Я пробовал практически каждый метод, который я могу придумать, чтобы установить выбранное значение (не используя js после визуализации элемента управления, что на самом деле является последним средством), но когда элемент управления отображает его, он пока не отображает выбранное значение. Я могу предположить, что я пропускаю что-то действительно очевидное. Вот код:Значение настройки для DropDownListFor
@{
List<string> arrTitles = new List<string>("Mr,Mrs,Miss,Ms,Dr,Lady,Lord,Prof,Rev,Sir".Split(','));
List<SelectListItem> lstTitle = new List<SelectListItem>();
foreach (string title in arrTitles)
{
SelectListItem sli = new SelectListItem { Text = title, Value = title };
if (Model != null)
{
if (title == Model.title)
{
sli.Selected = true;
}
}
lstTitle.Add(sli);
}
string formHandler = ViewBag.FormHandler;
}
@using (Html.BeginForm(formHandler, "Home", FormMethod.Post))
{
@Html.LabelFor(r => r.title)
@Html.DropDownListFor(r => r.title, new SelectList(lstTitle, "Value", "Text", "Selected"));
}
Любые мысли?
такого рода C# должен быть помещен в ваш метод действия, а не ваш HTML (как в настоящее время это не в формате MVC) – jbutler483
Если значение свойства 'title' соответствует значение одного из параметров, то это то, что будет выбрано. Вы можете удалить свои попытки установить свойство «Selected». –
И все, что вам нужно, это '@ Html.DropDownListFor (r => r.title, новый SelectList (arrTitles)'. Весь код, связанный с 'lstTitle', не нужен. –