This is a migrated thread and some comments may be shown as answers.

Catch exception on RadDateTimePicker PreRender

1 Answer 78 Views
Input
This is a migrated thread and some comments may be shown as answers.
Craig Wallace
Top achievements
Rank 1
Craig Wallace asked on 08 Mar 2012, 10:59 AM
Hi,

I have noticed that is possible in code to set the MinDate as greater than the MaxDate on the RadDateTimePicker.  When the aspx is then rendered, an ArgumentOutOfRangeException is thrown.  It is only thrown on the OnPreRender event of the control, and no opportunity is given to catch and handle it without overriding OnPreRender for the control.

Can I ask that the control be changed to make it possible for such exceptions to be caught when the MinDate and MaxDate properties are set?  This seems a much more sensible time to throw such an exception, as it seems quite unusual to have to override prerender to prevent a control from blowing up an entire aspx page?

Craig

1 Answer, 1 is accepted

Sort by
0
Vasil
Telerik team
answered on 12 Mar 2012, 09:21 AM
Hello Craig,

I see your point in there. And actually we are able to change the behavior and to throw this exceptions in the setters of the properties.

However I see another problem that will occurs in here. And I am not sure if the change will be for good or not. Here is the scenario:

By default the MaxDate is 12/31/2099 and the MinDate is 1/1/1980.
So if the user dynamically want to change the possible range to 1/1/1900 to 1/1/1950. He could write:
RadDatePicker1.MaxDate = new DateTime(1950, 1, 1);
RadDatePicker1.MinDate = new DateTime(1900, 1, 1);
And he will get an exception when setting the MaxDate, because MinDate is still 1/1/1980 when he try to change the MaxDate. Which indeed could be very common scenario when if user sets values that are greater than 2099 even if he set the MinDate first:
RadDatePicker1.MinDate = new DateTime(2100, 1, 1); 
RadDatePicker1.MaxDate = new DateTime(2200, 1, 1);

However, if the checking is made on PreRender the both properties will be set correctly and no exception will be thrown. So making such change could break already working code for many people.

I would ask the community here which approach is better for your? I would also appreciate If you could think of any alternatives as well.

Greetings,
Vasil
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
Tags
Input
Asked by
Craig Wallace
Top achievements
Rank 1
Answers by
Vasil
Telerik team
Share this question
or