无法将类型 'diaryEntry' 转换为 System.datetime



在我的日记条目选项卡中;e我有身份证、网站id和日期。我传递一个日期,我希望列表"日记条目"存储所有匹配的日期。然后我通过foreach传递这个列表,foreach应该会在日历的屏幕上突出显示日期。

 DateTime tempDate = System.Convert.ToDateTime(Session["Diary_Date"]);
        DateTime startOfMonth = new DateTime(tempDate.Year, tempDate.Month, 1);
        DateTime endOfMonth = startOfMonth.AddMonths(1).AddDays(-1);
    List<Diary_Entry> DiaryEntry = new List<Diary_Entry>();
        DiaryEntry = (from DE in db.Diary_Entries
                      where DE.Site_Id == 1
                      && DE.Date >= startOfMonth && DE.Date <= endOfMonth
                      select DE).ToList();

  foreach (DateTime d in DiaryEntry)//list is name of list you use avoue(in linq)
        {
            Calendar1.SelectedDates.Add(d);//CALENDAR 1 IS WHAT I CALLED IT IN ASPX
        }

错误:e无法将类型"diaryEntry"转换为system.datetim

有人能告诉我如何解决这个问题吗

问题就在这里:

foreach (DateTime d in DiaryEntry)

DiaryEntryList<Diary_Entry>,而不是DateTime的列表。

更改为:

foreach (Diary_Entry d in DiaryEntry)

现在,对于每个d,您都可以访问其DateTime成员。

  foreach (var d in DiaryEntry)
        {
            Calendar1.SelectedDates.Add(d.Date); //assuming d.Date is a datetime
        }

您的问题是您有Diary_Entry的列表,而不是DateTime,所以如果您想迭代DateTime枚举,您应该得到它。您可以使用linq来实现这一点:

    foreach (DateTime d in DiaryEntry.Select(de=>de.Date))
    {
        Calendar1.SelectedDates.Add(d);//CALENDAR 1 IS WHAT I CALLED IT IN ASPX
    }

相关内容

  • 没有找到相关文章

最新更新