webForumDet fria alternativet

Markera dagar i kalender

.NET

4 svar · 453 visningar · startad av doggelito

Medlem sedan juni 20003 076 inlägg
Frågan#1

Har en asp:calendar som jag fyller med datum från db.
Men när jag postar runt sidan så tappar kalendern de markerade dagarna, hur åtgärdar jag det?


private StringCollection col = new StringCollection();

protected void Page_Load(object sender, EventArgs e)
{
     ...
     if(!Page.IsPostback)
          BindCalendar(DepartmentId);
}

protected void BindCalendar(int DepartmentId)
    {
        ReportsBLL reports = new ReportsBLL();
        if (reports.GetDepartmentReportedDates(DepartmentId).Count > 0)
        {
            foreach (DAL.Reports_GetDepartmentReportedDatesRow row in reports.GetDepartmentReportedDates(DepartmentId))
            {
                col.Add(row.ReportDate.Date.ToShortDateString());
            }
        }
}

protected void Calendar1_DayRender(object sender, DayRenderEventArgs e) 
    {
         if(col.Contains(e.Day.Date.ToString("d")))
         {
             e.Cell.Font.Bold = true;
         }
}

Jag skulle ju kunna ta bort if-taggen i postbacken men då hämtar den ju från databasen varje gång, det vill jag inte! :)
Måste jag mellanlagra min StringCollection på nått vis eller?

Medlem sedan dec. 200435 inlägg
#2

Edit Postade i fel inlägg :) men jag kan juh svara på frågan ändå...

Eftersom webben är tillståndslös så måste du lagra det i tex en session...

Medlem sedan dec. 19996 721 inlägg
#3

Croolie har nog inte provat ASP.NET ännu.

Webben är tillståndslös, men ASP.NET kämpar för att motarbeta detta. En Calender t.ex. ska behålla de valda datumen vid en postback, så det känns om om du gör något mer.

Medlem sedan dec. 200435 inlägg
#4

Hehe jorå jag har jobbat ganska mycket med ASP.NET men jag har dock inte provat kalenderfunktionen så det var något jag inte viste…Du är lite snabb med att dra slutsatsers om folk, tänk på det nästa gång…

Medlem sedan dec. 19996 721 inlägg
#5

Croolie skrev:

Hehe jorå jag har jobbat ganska mycket med ASP.NET men jag har dock inte provat kalenderfunktionen så det var något jag inte viste…Du är lite snabb med att dra slutsatsers om folk, tänk på det nästa gång…

Det var inte meningen att dissa dig, men visst drog jag en (felaktig) slutsats om din erfarenhet av ASP.NET, och det ber jag om ursäkt för. Faktum kvarstår dock. Ett av ASP.NETs främsta kännetecken är att det försöker motarbeta tillståndslösheten och det är i undantagsfall eller när man verkligen vill ta hand om tillståndet själv som man behöver använda Session etc.

Doggelito, du råkar inte ha stängt av viewstate? Eller kanske binder du om kontrollen i någon metod som vi inte ser...

267 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)