代码之家  ›  专栏  ›  技术社区  ›  KirstieBallance

有可视包的orderby选项吗

  •  1
  • KirstieBallance  · 技术社区  · 6 年前

    我正在尝试对 ViewBag 通过调用的列表 ForEach .

    我看到有一个 Model.OrderBy 选项。

    有类似的东西吗 视窗袋 ?

    我的代码如下:

    <select class="list-box tri-state" id="ParentID" name="ParentID">
        @foreach (var item in ViewBag.EmployeeList)
        {
            <option value="@item.Id">@item.FirstName @item.LastName</option>
        }
    </select>
    

    理想情况下,我希望选择列表按 FirstName , LastName ,但它是默认排序方式 Id .

    我该如何补救?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Nkosi    6 年前

    ViewBag

    List<Employee> employees = getEmployeeList();
    
    this.ViewBag.EmployeeList = employees;
    
    //...
    
    return View(model);
    

    @foreach (var item in (ViewBag.EmployeeList as List<Employee>)
        .OrderBy(_ => _.FirstName).ThenBy(_ => _.LastName)) {
          <option value="@item.Id">@item.FirstName @item.LastName</option>
    }
    

    List<Employee> employees = getEmployeeList()
        .OrderBy(_ => _.FirstName).ThenBy(_ => _.LastName)
        .ToList();
    
    this.ViewBag.EmployeeList = employees;
    
    //...