Javascript 按下拉列表所选值排序HtmlListBox

Javascript 按下拉列表所选值排序HtmlListBox,javascript,c#,asp.net-mvc,drop-down-menu,html.dropdownlistfor,Javascript,C#,Asp.net Mvc,Drop Down Menu,Html.dropdownlistfor,我正试图根据另一个选定下拉列表中的选定值对Html.List框进行排序,但不知道如何进行排序 这是我的Html.ListBox,由我的视图的视图包填充 @Html.ListBox("Group", (IEnumerable<SelectListItem>)ViewBag.Group, new { style = "width: 300px;" }) 这是我的视图下拉列表: <select id="sel2"> <option value="">Tod

我正试图根据另一个选定下拉列表中的选定值对Html.List框进行排序,但不知道如何进行排序

这是我的Html.ListBox,由我的视图的视图包填充

@Html.ListBox("Group", (IEnumerable<SelectListItem>)ViewBag.Group, new { style = "width: 300px;" })
这是我的视图下拉列表:

<select id="sel2">
    <option value="">Todos</option>
    @foreach (var item in Model.Select(l => l.Rid).Distinct())
    {
        <option value="@item">@item</option>
    }
</select>
这是我在控制器中的ViewBag:

List<string> listadepuntos = new List<string>();
foreach (var item in db.Pos.Where(r => r.Fecha.Day <= today.Day)
    .Select(g => new { Pdv = g.Pdv, Total = g.Total })
    .GroupBy(l => l.Pdv).AsEnumerable().Select(z => new
    {
        Punto_De_Venta=z.Key, 
        Total = String.Format("{0:$#,##0.00;($#,##0.00);Zero}",Decimal.Round(z.Sum(l => l.Total), 0)) 
    }))
{
    listadepuntos.Add(item.ToString());
}
var grupoPdv = new SelectList(listadepuntos.ToList());
ViewBag.GroupS = grupoPdv;

是否有方法从我的下拉列表中的选定选项中订购我的Viewbag项目?也许是用Javascript或者别的什么?我不知道如何解决此问题

在将Viewbag添加到列表之前,是否要对其中的值进行排序?如果是这样的话,为什么不调用listadepuntos本身的排序呢?我一直在阅读,似乎我不能在选择选定值的同时对它们进行排序,因为它们来自服务器端,所以我想在加载视图之前对它们进行排序。我可以怎么做?为什么不对listadepuntos本身进行排序?您可以使用。只需根据页面上其他地方的选择修改排序函数。