繁体   English   中英

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

[英]cannot convert type 'diaryEntry' to system.datetime

在我的diaryEntry标签中; e我有id,siteId和日期。 我传递了一个日期,并且希望列表“ DiaryEntry”存储所有匹配的日期。 然后,我通过一个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
        }

错误:无法将类型“ 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
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM