对下面这些用户角色的SelectList进行排序的最佳方法是什么?我希望角色名称按字母顺序显示。
这是我的控制器代码:
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>
}
答案 0 :(得分:3)
将您的控制器代码修改为
Intent anIntent;
anIntent = new Intent(this,Chek.class);
for (Product p : products) {
if(p.box);
anIntent.putParcelableArrayListExtra("products", products);}
startActivity(anIntent);
break;
如果您这样做,则需要将视图中的演员表更改为:
Arraylist<Product> checkedList = new ArrayList<Product>();
for (Product p : products) {
if(p.box)
{
checkedlist.add(p);
}
}// end of for loop
// Now send the checkedlist as parceable list
anIntent.putParcelableArrayListExtra("products", checkedlist);}
startActivity(anIntent);
将视图代码更改为:
可能更容易ViewBag.RoleId = new SelectList(await RoleManager.Roles.ToListAsync(), "Name", "Name").OrderBy(x => x.Text);
因为这意味着对控制器代码没有任何更改。