В раскрывающемся меню не отображается правильное состояние при загрузке страницы. Он всегда начинается в начале списка. Прямо сейчас, я просто передаю список с помощью ViewBag, который может быть проблемой.DropDownListFor не заполняет правильное значение
Как вы можете видеть в коде просмотра, у меня есть dropdownlist для использования моего Model.StateList, но я не могу заставить его работать.
addy.State
отформатирован как The StateAbbr
и мое выпадающее меню (при использовании метода (SelectList) ViewBag.StateList
делает список в этом формате (исключая "СТ", "AL", "АК".):
<option value="AL">Alabama</option>
<option value="AR">Arkansas</option>
Модель
public class EditOrderViewModel
{
public List<State> StateList { get; set; }
}
контроллер
public ActionResult EditOrder(int orderId)
{
var model = repositoryScheduling.Order_FindById(orderId);
var stateList = GetStateList();
ViewBag.StateList = new SelectList(stateList, "StateAbbr", "StateNamne");
model.StateList = GetStateList();
return View(model);
}
Посмотреть
foreach(var addy in Model.Address)
{
<div class="form-group-CityState">
<div class="input-group" style="border-right: 0px">
<span class="input-group-addon CitySpanAddon" style="text-align: left; border-right: 0px">@Html.LabelFor(model => addy.City)</span>
// @*@Html.DropDownListFor(model => addy.State, Model.StateList, new {id = "SelectState", @class = "SelectState"})*@
@Html.DropDownListFor(model => addy.State, (SelectList)ViewBag.StateList, new { id = "SelectState", @class = "SelectState" })
@Html.ValidationMessageFor(model => addy.State)
</div>
</div>
}
Не уверен, что это будет делать, но здесь вы идете
public List<State> GetStateListAll()
{
const string query = @"SELECT *
FROM
states;";
return this.db.Query<State>(query).ToList();
}
Первые пары в DropDownFor является объектом, который он держит выбранное значение и сообщения обратно на сервер, если это необходим, и то же пары будут выбранное значение раскрывающегося списка. , поэтому, если вы установите свой addy.State в своем контроллере, чтобы быть выбранным вами элементом, он должен работать. – Aram
Покажите нам свой метод GetStateList. – milagvoniduak
OK @ MyP3uK, я добавляю функцию, но не уверен, что это поможет – MaylorTaylor