我正在尝试过滤掉我的一些下拉列表以仅显示活动的项目。但同时我想添加一个空列表项作为第一个默认选项,因为并非所有下拉列表都需要选择。
这是我确保显示活动项目但不确定如何将空列表项功能添加到默认情况下的代码。
IOrderedQueryable<VisitType> visitTypes =
_visitTypeRepository.FindAll().OrderBy(a => a.Description);
viewModel.VisitTypes = visitTypes
.Where(a=>a.IsActive ?? false)
.ToSelectList("VisitTypeId", "Description", viewModel.VisitTypeId.ToString());
这是我的 VisitType 代码:
[MetadataType(typeof(VisitTypeMetadata))]
[ScaffoldTable(true)]
[LocalizedDisplayName("EntityNamePlural", NameResourceType = typeof(Resources.Entities.VisitType))]
[DisplayColumn("Description", "Description", false)]
public partial class VisitType
{
public static VisitType All = new VisitType() { Description = "All", VisitTypeId = 0 };
public string ValueDescription
{
get { return this.VisitTypeId.ToString() + "|" + Description; }
}
public class VisitTypeMetadata
{
[ColumnOrder(0)]
[ScaffoldColumn(false)]
[Filter(Enabled = false)]
[DefaultBoolean(Checked = true)]
[DisplayName("Active")]
public object IsActive { get; set; }
[ColumnOrder((1))]
public object Description { get; set; }
[ScaffoldColumn(false)]
public object VisitActivityEntries { get; set; }
}
}
任何帮助或想法都会很棒。谢谢!