Как установить значение по умолчанию для DropDownList в View с использованием ASP.NET MVC? - PullRequest
0 голосов
/ 08 июля 2019

Я пытаюсь создать 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

Однако это настроено:

enter image description here

То, чего я пытаюсь достичь, это:

Key1: DropDownlist со значением по умолчанию keyA

Key2: выпадающий список со значением по умолчанию keyB

Key3: DropDownlist со значением по умолчанию keyC

Key4: выпадающий список со значением по умолчанию keyD

1 Ответ

0 голосов
/ 08 июля 2019

Я предполагаю, что вы можете достичь желаемого результата, манипулируя значением по умолчанию SelectListItem в list, которое связано с SelectList .

var defaultItem = new SelectListItem()
{
   Value = 1,
   Text = "Default Item",
   Selected = true
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...