0

diaryEntryタブに、id、siteId、dateがあります。日付を渡し、リスト「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に変換できません

誰かがあなたがたがこれを解決する方法を私にアドバイスすることができますか

4

3 に答える 3

1

問題はここにあります:

foreach (DateTime d in DiaryEntry)

DiaryEntryList<Diary_Entry>、のリストではありませんDateTime

への変更:

foreach (Diary_Entry d in DiaryEntry)

そして今、それぞれについて、あなたはそのメンバーdにアクセスすることができます。DateTime

于 2013-02-23T19:42:00.197 に答える
1
  foreach (var d in DiaryEntry)
        {
            Calendar1.SelectedDates.Add(d.Date); //assuming d.Date is a datetime
        }
于 2013-02-23T19:42:01.547 に答える
1

問題は、DateTimeではなくDiary_Entryのリストがあることです。したがって、列挙可能な日時を反復処理する場合は、それを取得する必要があります。linqを使用してこれを行うことができます。

    foreach (DateTime d in DiaryEntry.Select(de=>de.Date))
    {
        Calendar1.SelectedDates.Add(d);//CALENDAR 1 IS WHAT I CALLED IT IN ASPX
    }
于 2013-02-23T19:42:24.830 に答える