1

リストにアクティブなアイテムのみを表示するドロップダウン ボックスがあります。ただし、ユーザーがアイテムを選択して保存した後、その同じアイテムが非アクティブになる可能性があります。ユーザーが選択を編集したとき。以前に選択した非アクティブなアイテムは、他のアクティブなアイテムと一緒に、編集ページのリストのデフォルト アイテムになります。それを確認する方法がわかりません。これが私のリストに入力する私のコードです。

var meetingTypes = _meetingTypeRepository.FindAll().OrderBy(m => m.Description);
viewModel.MeetingTypes = meetingTypes.Where(a=> a.IsActive ?? false)
                                     .ToSelectList("MeetingTypeId", 
                                                   "Description",                
                                              viewModel.MeetingTypeId.ToString());
4

1 に答える 1

2

別の人がたまたま同じ状況にあった場合に備えて、私はそれを理解することができました. 比較する必要があるすべてのアイテム ID を持つ viewModel を使用していたので、これを Where 句で使用しました。これが where 句が次のように変更された方法です。

.Where(a=>a.IsActive == true || a.MeetingTypeId == viewModel.MeetingTypeId)

これにより、ユーザーが以前に選択したアイテムが現在非アクティブであっても、ドロップダウン リストに表示できました。

于 2012-04-26T19:49:58.360 に答える