Каков наилучший способ сортировки SelectList ролей пользователей, как показано ниже? Я хочу, чтобы имена ролей отображались в алфавитном порядке.Как отсортировать список ролей пользователей в MVC?
Это мой код контроллера:
ViewBag.RoleId = new SelectList(await RoleManager.Roles.ToListAsync(), "Name", "Name");
Это мой взгляд код:
@foreach (var item in (SelectList)ViewBag.RoleId)
{
input type="checkbox" name="SelectedRoles" value="@item.Value" class="checkbox-inline" />
}
ОБНОВЛЕНИЕ - РАБОЧИЙ КОД:
Контроллер:
var getRoles = await RoleManager.Roles.ToListAsync();
ViewBag.Roles = getRoles.OrderBy(x => x.Name);
Вид:
@foreach (var item in ViewBag.Roles)
{
<input type="checkbox" name="SelectedRoles" value="@item.Name" class="checkbox-inline" />
<label for="@item.Name" class="control-label">@item.Name</label>
}
Использование 'SelectList' (которое предназначено для использования в выпадающем списке) не имеет большого смысла. См. [Этот ответ] (http://stackoverflow.com/questions/30738451/post-to-mvc-controller-ienumerable-nested-model-is-null-when-i-dont-select-chec/30745023#30745023) для лучшего подхода –