EF核心:如何在脚手架下拉列表中对项目进行排序



我有一个模型类定义如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
namespace NewProject
{
public partial class Institutions
{
public int InstitutionID { get; set; }    
public string InstitutionName { get; set; }
public virtual ICollection<NotificationOfChangePage> NotificationOfChangePage{ get; set; }
public virtual ICollection<SuspensionOrTerminationPage> SuspensionOrTerminationPage{ get; set; }
}
}

稍后,当我使用EF核心构建NotificationOfChangePage或SuspendionOrTerminationPage(这取决于机构模型(时,显示在创建/编辑页面上的下拉列表是按InstitutionID排序的-我如何才能使它们真正按Institution Name排序?这是我在实际视图中会处理的事情吗?

Nick B的评论让我找到了正确的答案。在页面的控制器中,通过脚手架生成以下代码位:
ViewData["InstitutionID"] = new SelectList(_context.Institutions, "InstitutionID", "InstitutionName");

我不得不将.OrderBy(x=>x.Text(附加到这个后面才能得到:

ViewData["InstitutionID"] = new SelectList(_context.Institutions, "InstitutionID", "InstitutionName")**.OrderBy(x => x.Text)**;

现在,下拉列表按字母顺序显示机构。

最新更新