好的,我无法System.Tuple'2[System.DateTime,System.Boolean]
转换(系统在我在下面的代码中添加注释错误System.Collections.Generic.List'1[System.Tuple'2[System.DateTime,System.Boolean]]
的行中显示异常)
但是我怎么能List<Tuple>
在我的中继器中绑定我的。
如果不为此任务创建接口或类,就无法完成此任务。
这是我的代码
#region Fields
ControllerProg controllerProg = new ControllerProg();
List<Tuple<DateTime, Boolean>> lstDatePagination = new List<Tuple<DateTime, Boolean>>();
List<DateTime> dtPag = new List<DateTime>();
#endregion
dtPag = controllerProg.ListDates(15);
if (dtPag.Count > 0)
{
double j = 1;
for (int i = 0; i < 15; i++)
{
if (dtPag.Count > i && dtPag[i] != null)
{
lstDatePagination.Add(Tuple.Create(dtPag[i], true));
}
else
{
lstDatePagination.Add(Tuple.Create(dtPag.Last().AddDays(j), false));
j++;
}
}
rptPagination.DataSource = lstDatePagination;
rptPagination.DataBind();
}
protected void rptPagination_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
// Error
List<Tuple<DateTime, Boolean>> datePagination = (List<Tuple<DateTime, Boolean>>)e.Item.DataItem;
// InvalidCastException was unhandled by user code
Label lblDay = (Label)e.Item.FindControl("lblDay");
lblDay.Text = datePagination[0].Item1.ToString("dd/MM/yyyy");
lblDay.Enabled = datePagination[0].Item2;
}
}
创建关于代码的简短解释是,我在一个特定的选择中获取所有日期,填补空白for
我的问题实际上是关于如何将列表绑定到RepeaterItemEventArgs
没有接口和类的列表中。(就像我们对 List<> 所做的那样)