ASP.net For循环问题

本文关键字:问题 循环 For net ASP | 更新日期: 2023-09-27 18:03:49

我有一个For循环的问题,它看起来像这样

for (int i = 0; i < dt.Rows.Count; i++)
        //for (int i = 0; i < System.Math.Min(dt.Rows.Count, 3); i++)
        {
            string date = Convert.ToDateTime(dt.Rows[i]["date"]).ToShortDateString();
            schedule[date] = (schedule[date] != null ? schedule[date].ToString() : "")    + Server.HtmlEncode(dt.Rows[i]["todo"].ToString()) + "<br />" + dt.Rows[i]["time"].ToString() + "<br />";
        }
        return schedule;

这是我用asp.net日历控件制作的日历。它循环通过所有记录到我的数据库,并给出了我的时间表(该日期的记录),但我不想显示超过3行文本,你可以添加到日历(数据库记录)。你知道我该怎么做吗?

Thank you, kind regards, The Designer

ASP.net For循环问题

您可以维护为每个日期添加的行数的计数:

Dictionary<string, int> schedulesDateCount = new Dictionary<string, int>();
for (int i = 0; i < dt.Rows.Count; i++)
{
    string date = Convert.ToDateTime(dt.Rows[i]["date"]).ToShortDateString();
    if(!schedulesDateCount.ContainsKey(date))
        schedulesDateCount[date] = 0;
    if(schedulesDateCount[date] < 3)
    {
        schedule[date] = (schedule[date] != null ? schedule[date].ToString() : "")    + Server.HtmlEncode(dt.Rows[i]["todo"].ToString()) + "<br />" + dt.Rows[i]["time"].ToString() + "<br />";
        schedulesDateCount[date] = schedulesDateCount[date] + 1;
    }
}
return schedule;