Я пытаюсь создать выпадающий список (используя bootstrap-select ) с различными атрибутами data-subtext для каждой опции.Дело в том, что когда я использую tag helper, он автоматически создает проверочные теги (что здорово), но запрещает мне использовать любые атрибуты data - * в опциях списка выбора.
Создание параметров с таким циклом отключает проверку на стороне клиента:
<select name="@Html.NameFor(model => Model.SelectedRoles)" id="@Html.IdFor(model => Model.SelectedRoles)" class="form-control selectpicker" data-live-search="true" autocomplete="off" data-size="8" multiple>
@foreach (var role in Model.RolesSelectListItems)
{
<option data-subtext="@role.Description" value="@role.Id">@role.Code</option>
}
</select>
Создание такого списка не позволит использовать атрибуты данных:
@Html.DropDownListFor(x => Model.SelectedRoles, new SelectList(Model.RolesSelectListItems, nameof(RoleViewModel.Id), nameof(RoleViewModel.Code)),
new { @class = "form-control selectpicker", @data_live_search = "true", @autocomplete = "off", @data_size = "8", @multiple = "" })
Myviewmodel выглядит следующим образом:
public IEnumerable<RoleViewModel> RolesSelectListItems { get; set; }
[Display(Name = "Requested roles")]
[Required(ErrorMessage = "Select at least one role")]
public IEnumerable<int> SelectedRoles { get; set; }
Возможно ли как-нибудь расширить Html.DropDownListFor , поэтому он добавит data-subtext для каждой опции, используя желаемое свойствозначение?Я хотел бы иметь автоматически созданные теги проверки и атрибуты данных, если это возможно.