Set the Enabled Property of a UserControl From CodeBehind

It's been a while since I worked on WebForms so I need a refresher when working on an old site. 

I have a userControl on the page that I need to programatically set the enabled state 

<%@ Register Src="CalandarControl.ascx" TagName="CalandarControl" TagPrefix="uc" %>

I have this at the C# code but Enabled is not available here. What am I missing? 

if (c is UserControl)
{
    var x = c.GetType();
    if (x.Name == "calendarcontrol_ascx")
    {
        ((UserControl)c).Enabled = true;
    }
}

Thanks

Last updated:12/4/2014 7:30:36 AM

1 Answers

Anonymous User
Anonymous User

You should have something on the code-front that places the control on the page, like: 

<uc:CalendarControl ID='dtePrepaymentExpiresDate' FieldName='Prepayment expires
date' runat='server' Enabled='false' />

Then in the code behind, you can set this custom property as follows: 

dtePrepaymentExpiresDate.Enabled = true;

If you really need to do it in the loop, then you need to cast c as the CalendarControl and not UserControl because CalendarControl has the property Enabled while a normal UserControl does not. 

((CalandarControl)c).Enabled = true;

Answer