.NET Framework - Calendar Control Won't Show Selected Date if Value Has Time Value != Midnight

Asked By Mark Olbert
07-Mar-07 01:02 AM
I just noticed something weird about the calendar control in ASPNET2. If you assign a value to SelectedDate that has a time
component (e.g., 3/1/2007 10:37 AM), and you have a custom style for the selected day, the selected day will not be rendered using
the custom style. Instead, the control acts like >>no<< date has been selected.

I came across this when doing a SelectedDate='<%# Bind("date_field") %>', where the date_field is a datetime sql server field.
There's an obvious workaround -- use ((DateTime) Eval("date_field")).Date instead of the Bind expression -- but then you have to add
code to extract the value before, say, doing an update against the database, since you've lost the databinding (and Bind() does not
return a value; it binds values).

Of course, an even better workaround would be for the silly control to work right in the first place, and recognize that a
SelectedDate of 3/1/2007 10:37 AM is, in the context of a >>calendar<< equivalent to 3/1/2007 12:00 AM and should be treated as such
for purposes of deciding when to render using the SelectedDay style.

- Mark
ASP.NET
(1)
DateTime
(1)
Calendar
(1)
Database
(1)
Control
(1)
Visual
(1)
Bind
(1)
Show
(1)
  stchen replied...
07-Mar-07 07:40 AM
Hello Mark,

Regarding on the Calendar control SelectedDateStyle  issue, I have checked
our internal database and this is an existing bug that has been already
reported. The problem is occuring when the selectedData be assigned a non
zero-end datetime instance.  You can also found the bug entry in the public
feedback center:

http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?Feedbac
kID=105127

So far I think the workaround you mentioned should be the reasonable way.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead



==================================================

Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.



Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscriptions/support/default.aspx.

==================================================



This posting is provided "AS IS" with no warranties, and confers no rights.
  Mark Olbert replied...
07-Mar-07 10:06 AM
Steven,

Thanks for the link.

But I'm confused: the bug was confirmed over a year ago, and it's still not fixed? At last count I think I've downloaded, oh,
something over 200 patches from Microsoft for various Windows- and Office-related bugs in that time. What keeps the ASP.NET
Framework team from getting these kinds of fixes out sooner?

- Mark
  stchen replied...
08-Mar-07 10:46 PM
Thanks for your reply Mark,

As for the windows update(or update of  some other end user products like
office), they are different from the fixed for .net framework or visual
studio. For windows or office, we can frequently publish new update or
packs and the end user can choose to install them at their convenient time.
And different user may have different updated version on their machine.
However, for .net framework or visual studio,  we can not publish such fix
or service pack frequently, because .net framework/visual studio is tools
and base component that used to build applications, frequent change on this
will result to inconsistency between developers that has installed
different updates or packs.  Therefore, Visual Studio or .net framework
will only publish a large service pack after a long time(based on the
common fixed that has ever been collected). For individual users, if
necessary, CSS can help create on-demand hotfix, generally, this will be
userful if a certain server application require such as rapid fix.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


This posting is provided "AS IS" with no warranties, and confers no rights.
  Mark Olbert replied...
10-Mar-07 12:35 PM
Steven,

I thought one of the benefits of managed code was to be able to run apps using different versions of the same library side-by-side
without any conflicts. In other words, no more DLL hell.

If that's so, why couldn't there be multiple versions of the same Framework libraries being used throughout the world? Granted, some
extra storage would be consumed, but that's pretty cheap these days.

- Mark
  stchen replied...
12-Mar-07 11:34 PM
Thanks for your reply Mark,

Yes, .net framework make managed application and assembly easy to deploy
side by side or  redirect version to version. However, this is for
individual applications and their custom assemblies. For system/framework
class library, they're always tightly coupled with the CLR runtime version.
That means when the process start CLR runtime, it will always load a fixed
version framework library(lots of system fundatmential assemblies such as
Mscorlib.dll, System.dll....). These assemblies can not be redirected to
different version individually, you could only redirect the entire
framework library's version(the runtime will load a different version of
NET CLR and framework libraries).  So far this CLR loading mechanism still
limit the framework's versioning support, and it is not quite good to
change the framework base class library frequently.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


This posting is provided "AS IS" with no warranties, and confers no rights.
  Alexnader M. Batishchev replied to stchen
20-Jan-10 07:47 AM
It's 2010 now and bug still presents!!
help
Asp.Net Calendar: get date on page load .NET Framework How do you get the Calendar date when the page first loads? I have this code (which works once the user t know how to pass the current date (unless I'm doing it wrong!) Thanks ASP.NET Discussions EventArgs (1) DateTime (1) Calendar (1) SelectionChanged (1) Database (1) Load (1) Yes, well you will because no date has
Couple of asp:calendar questions. . . .NET Framework I'm porting a classic ASP page with a calendar to ASP.NET. I appreciate the fact that ASP.NET has such a control built-in, but I'm finding it's far less flexible tell you)? I'm currently relying on a session variable in which I store a DateTime. If the variable doesn't yet exist, I set it to DateTime.Now. Otherwise I adjust the month in my button callback (. . . . AddMonths(1) / . . .AddMonths(-1)) and
Event Calendar with two events on the same day .NET Framework Hello All, I got this code best way to do this. Basically what i want is to display events in an asp.net calendar control which i'm able to do, but not when i have two events on the events from an XML file. Here's my code. aspx page just has the calendar control. code behind page: public partial class Calendar : System.Web.UI.Page { private DataSet _ds; protected void Page_Load(object sender, EventArgs e) { _ds = new DataSet(); _ds.ReadXml(Server.MapPath("Calendar.xml")); } protected void Calendar1_DayRender(object sender, DayRenderEventArgs e) { foreach (DataRow row in _ds.Tables[0 Rows) { DateTime dt = DateTime.Parse(row["date"].ToString()); if (e.Day.Date = = dt) { e.Cell.Text = row
DateTime Picker .NET Framework Hi all, I am looking for a free Datetime picker for ASP.NET 2.0. Any suggestion? Thank you in advance. Regards, Gun ASP.NET Discussions ASP.NET (1) DateTime (1) Calendar (1) Hello Gunawan, See there http: / / ajax.asp.net / ajaxtoolkit / Calendar
ASP.NET 3.5 AJAX problem .NET Framework Hi all, I've just upgrade our site to the latest asp.net 3.5 using visual studio 2008. However, I can not get the AJAX component to could be the problem? It compiles fine but no My code was taken from http: / / asp.net / ajax / documentation / live / ViewSample.aspx?sref = UpdatePanelTutorialIntro5 My code - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- CodeFile = "Default.aspx.cs" Inherits = "Test_ajax_Default" %> www.w3.org / TR / xhtml1 / DTD / xhtml1-transitional.dtd"> runat = "server"> Last refresh <% = DateTime.Now.ToString() %> <br / > Outer Panel" / > Last refresh DateTime.Now.ToString() %> asp:Calendar> - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Thx M. .NET Discussions ASP.NET (1) UpdatePanelTutorialIntro5 (1) UpdatePanel (1