Я пытаюсь создать DropDownList в моем View с данными SelectList, переданными в мой View с помощью ViewBag:
ViewBag.OtherKeysList = new SelectList(list, "OtherKey");
В моем представлении я создаю WebGrid со столбцом, представляющим этот DropDownList следующим образом:
grid.Column(columnName: "OtherKey", header: "OtherKey", format: @<text>@Html.DropDownList("OtherKey", (IEnumerable<SelectListItem>)ViewBag.OtherKeysList, new { @class = "extra-class" })</text>)))
Однако этот список просто использует первый элемент в списке в качестве значения по умолчанию. Как установить другое значение этого списка в значение по умолчанию?
UPDATE:
Когда я попробую следующий код:
public ActionResult EditMapping(int id)
{
var list = new ListWithDuplicates();
var v = (from a in dbProducts.MapperConfigs
where
a.MappingID.Equals(id)
select a
);
foreach (var item in v)
{
list.Add(item.OtherKey, item.OtherKeyType);
}
ViewBag.TotalRows = v.Count();
ViewBag.OtherKeysList = list.Select(x => new SelectListItem() { Text = x.Key, Value = x.Key, Selected = x.Key == "keyC" ? true : false });
ViewBag.MappingName = (from a in dbProducts.MappingNames
where
a.MappingID.Equals(id)
select a.Name
).First();
var data = v.ToList();
return View(data);
}
Я получаю следующий результат:
![enter image description here](https://i.stack.imgur.com/XmKgu.png)
Однако это настроено:
![enter image description here](https://i.stack.imgur.com/ACx9E.png)
То, чего я пытаюсь достичь, это:
Key1: DropDownlist со значением по умолчанию keyA
Key2: выпадающий список со значением по умолчанию keyB
Key3: DropDownlist со значением по умолчанию keyC
Key4: выпадающий список со значением по умолчанию keyD