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...
4 svar · 453 visningar · startad av doggelito
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?
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...
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...