1

ドロップダウンリストの一部を除外して、アクティブなアイテムのみを表示しようとしています。しかし同時に、すべてのドロップダウンリストで選択が必要になるわけではないため、最初のデフォルトオプションとして空のリストアイテムを追加したいと思います。

これは、アクティブなアイテムを表示することを確認するために持っているコードですが、デフォルトとして空のリストアイテム機能を追加する方法がわかりません。

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; }
    }
}

どんな助けやアイデアも素晴らしいでしょう。ありがとう!

4

2 に答える 2

2

この質問への答えを確認してください、それはほとんど重複していて、あなたがここで探しているものに正確に答えます

デフォルトのSelectListItemを追加する

return new[] { new SelectListItem { Text = "", Value = "" } }.Concat(
       visitTypes
.Where(a=>a.IsActive ?? false)
.ToSelectList("VisitTypeId", "Description", viewModel.VisitTypeId.ToString()));
于 2012-04-19T20:25:01.453 に答える
0

SelectedIndex=-1を使用しました。過去に良い結果が得られました。

于 2012-04-19T20:28:21.127 に答える