提问人:beeeeeeeeeen 提问时间:11/18/2023 最后编辑:Dmitry Bychenkobeeeeeeeeeen 更新时间:11/18/2023 访问量:42
其中,列表中对象的 id 与 id 列表匹配,将属性设置为 true
Where id of object in list matches list of id set property to true
问:
我正在尝试使用预选选项填充下拉列表。 我用 SelectListItems 列表填充此列表,允许您将其“Selected”属性设置为 true。
但是,如果选择列表项的值(选项的 id)与使用 linq 选择的选项的 Id 列表匹配,我想将属性设置为 true。
我相信这会获取值与 ID 列表匹配的每个对象,但是我不确定我现在如何选择每个项目并将其“Selected”属性设置为 true。我知道我可以将其设置为一个列表,然后遍历列表,将值设置为 true,然后返回该列表,但为了简单起见,我更喜欢在一行上执行此操作。
public List<SelectListItem> StorageFormats { get; set; }
StorageFormats = await _storageFormat.GetStorageFormatSelectList();
StorageFormats = StorageFormats
.Where(x => _availabilityFormatMap
.GetAvalabilityStorageFormat(id)
.Select(y => y.ID)
.ToString()
.Contains(x.Value))
.ToList();
答:
0赞
Priyansh Yadav
11/18/2023
#1
我相信有两种方法可以做到这一点。
- 通过List.ForEach :-
StorageFormats.ForEach(x => x.Selected = true);
// change it according to your class structure.
- 通过扩展:-
public static class ExtensionMethods
{
public static void SetSelectedForEach(this IEnumerable<StorageFormat> source, bool value)
{
foreach (var item in source)
{
item.Selected = value;
}
}
}
// change according to your namespace and class structures.
然后像这样使用它。
StorageFormats.SetSelectedForEach(true);
评论