Привязка вложенного списка к DropdownListFor со списком <SelectListItem> - PullRequest
0 голосов
/ 15 марта 2019

Я хочу передать вложенный список (List<OptionValueList>) в View;затем визуализируйте каждый соответствующий List<OptionValue> внутри @ Html.DropdownListFor.

Класс:

public class OptionValue
{
   public int OptionID { get; set; }
   public int ValueID { get; set; }
   public string ValueName { get; set; }      
}
public class OptionValueListList : List<OptionValueList> { }
public class OptionValueList : List<OptionValue> { }   

Я заполняю класс OptionValueListList из db, но я не смог адаптировать его в SelectListItem для привязки данных к @ HtmlDropdownListFor.

Ниже мое представление:

    @model Program.Models.OptionValueListList

    @foreach (var item in Model) /*List<OptionValueList>*/
    {
         foreach (var y in item) /*List<OptionValue>*/
         {        
  @Html.DropDownListFor(m=>y.ValueID, new SelectList(@ViewBag.x, "Value", "Text"), "Option Values")
       }
     }

А ниже я пытаюсь передать данные и не могу правильно их связать, поскольку он отображает один и тот же выпадающий список 18 раз:

   OptionValueListList o = new OptionValueListList();
   o = pr.GetOptionsForProduct(id);
   foreach (var item in o)
   {
        foreach (var i in item)
        {
             List<SelectListItem> li = new List<SelectListItem>();
             li = (from c in item
                  select new SelectListItem
                  {
                        Text = c.ValueName,
                        Value = c.ValueID.ToString()
                  }).ToList();
              ViewBag.x = li;
         }  
    }

проблема в ViewBag.x = li; Где я должен положить этот Viewbag?Спасибо.

...