C# 中继器数据项为空
我确实从repeater中选择了2,结果是selectedItems有2个项目,并且都为null,我如何获取回发后选择的ListOfXYZClass?数据源为null,并且每个项目的数据项都为null。有没有建议如何在回发后获取项目?您可以将其存储在其他地方。会话,但您不应该这样做。为什么要用可能过时的对象污染内存或创造竞争条件?储存识别itf.e所需的信息。ID。您可以使用RepateItem中的控件或按钮的CommandArgument。然后,如果回发后确实需要原始数据源,请从数据库或任何您使用的地方再次加载它。在这种情况下,为什么您需要一个列表?我想知道选择了哪个ID就足够了。我正在另一个网格中显示selected。我从DB那里得到的。谢谢C# 中继器数据项为空,c#,.net,C#,.net,我确实从repeater中选择了2,结果是selectedItems有2个项目,并且都为null,我如何获取回发后选择的ListOfXYZClass?数据源为null,并且每个项目的数据项都为null。有没有建议如何在回发后获取项目?您可以将其存储在其他地方。会话,但您不应该这样做。为什么要用可能过时的对象污染内存或创造竞争条件?储存识别itf.e所需的信息。ID。您可以使用RepateItem中的控件或按钮的CommandArgument。然后,如果回发后确实需要原始数据源,请从数据库或任何您
rptABC.DataSource = ListOfXYZClass;
rptABC.DataBind();
List<XYZClass> selectedItems = rptABC
.Items
.Cast<RepeaterItem>()
.Where(x => ((CheckBox)x.FindControl("cbSelect")).Checked)
.Select(u => (XYZClass)u.DataItem)
.ToList();