【发布时间】:2018-07-03 17:35:20
【问题描述】:
我正在尝试对通过ForEach 调用的ViewBag 列表中的项目进行排序。
我看到有一个Model.OrderBy 选项。
ViewBag 有类似的东西吗?
我的代码如下:
<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 排序。
我应该如何解决这个问题?
【问题讨论】:
-
您的代码是一个非常糟糕的主意-没有强类型模型绑定,没有客户端验证,所选项目,如果返回视图等将丢失等。使用
@Html.DropDownListFor()方法生成你的<select> -
我无法让下拉列表使用串联的名字和姓氏
-
这很容易解决 -
yourTable.Select(x => new SelectListItem{ Value = x.Id.ToString(), Text = x.FirstName + " " + x.LastName });
标签: c# asp.net-mvc razor viewbag