I have a date time picker which I've ajaxified using RadAjaxManager (and have tried using a RadAjaxPanel instead) but when ajaxified, the min/max dates don't update when set from code behind. In my form, I have some dropdowns and based on what's selected I need to change what date range would be considered valid. When I set the min/max date from the server side, it doesn't actually apply it (if you inspect the page you can still see the old min/max dates set). If I remove the RadAjaxManager (or RadAjaxPanel) then it works fine.
[code - Markup]
<div class='col-md-1 text-right pull-left'>
<asp:Label ID='lblPersonal_DoB' runat='server' Text='DoB' CssClass="label-middle-vertical" AssociatedControlID="dtPersonal_DoB" />
<asp:Label ID='lblPersonal_Age' runat='server' Text='' CssClass="label-middle-vertical" />
</div>
<div class='col-md-2'>
<telerik:RadDatePicker ID="dtPersonal_DoB" runat="server" CssClass='form-control' placeholder='DoB' Skin='Metro' aria-describedby='lblPersonal_DoB' AutoCompleteType="Disabled" DateInput-AutoCompleteType="Disabled" DateInput-CssClass="border-hide" OnSelectedDateChanged="dtPersonal_DoB_SelectedDateChanged" ClientEvents-OnDateSelected="dtPersonal_DoB_SelectedDateChanged" AutoPostBack="True" />
<asp:RequiredFieldValidator ID="valPersonal_DoB" runat="server" ControlToValidate="dtPersonal_DoB" Display="Dynamic" ForeColor="Red" Text="* Required" ErrorMessage="Date of birth is required" ValidationGroup="PersonalInfo" Enabled="false" />
</div>
[/code]
[code - Ajaxification]
<telerik:RadAjaxManagerProxy runat="server" ID="ajaxManager_PersonalDetails">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="dtPersonal_DoB">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="lblPersonal_Age" />
<telerik:AjaxUpdatedControl ControlID="valPersonal_SSN" />
<telerik:AjaxUpdatedControl ControlID="txtPersonal_SSN" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManagerProxy>
[/code]
[code - Server side]
if (value)
{
//If enabling SSN requirement then require being an adult
dtPersonal_DoB.MinDate = (new DateTime(1901, 1, 1, 0, 0, 0));
dtPersonal_DoB.MaxDate = DateTime.Now.Date.AddYears(-18);
}
else
{
//If disabling SSN requirement, then prevent entering an age of 21+
dtPersonal_DoB.MinDate = DateTime.Now.Date.AddYears(-20);
dtPersonal_DoB.MaxDate = DateTime.Now.Date;
}
[/code]
Any ideas?