Как я могу стилизовать определенный элемент в выпадающем списке MVC - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть следующий код, который заполняет раскрывающийся список значениями.Я хотел бы, чтобы текст был выделен жирным шрифтом, если x.Level == 0. Это может быть достигнуто или это невозможно в списках выбора иметь форматированный текст HTML?

selectItems.AddRange(
  LoggedInUser.CategoriesUserCanAdminster.Select(x => new SelectListItem2()
  {
      Text = String.Concat(Enumerable.Repeat("\xA0\xA0", x.Level + 1)) + x.Name,
      Value = x.Path,
      Selected = Model.Parent == x.Path,
      Disabled = !x.CanAdminister || x.Path.StartsWith(Model.Path)
  }
  ));
  }
@Html.DropDownList("Parent", selectItems, new { @class = "form-control" })

1 Ответ

0 голосов
/ 21 ноября 2018

Измените SelectListItem2 следующим образом

public class SelectListItem2
{
    public string Text {get;set;}
    public string Value {get;set;}
    public bool Selected {get;set;}
    public bool Disabled {get;set;}
    public bool Level0 {get;set;}
}

А затем используйте цикл и Html следующим образом

  <select>
    @foreach (SelectListItem2 item in selectItems)
    {
        if (item.Level0)
        {
            <option style="background-color:red" selected='@(item.Selected ? "selected" : "")' id="@item.Value">@item.Text</option>
        }
        else
        {
            <option id="@item.Value" selected='@(item.Selected ? "selected" : "")'>@item.Text</option>
        }
    }
</select>
...