The following method will recursively disable all the input controls within a container control such as a User Control, PlaceHolder, Panel etc.:

public void DisableInputControls(Control container)
{
	foreach (Control control in container.Controls)
	{
		if (control is TextBox
			|| control is DropDownList
			|| control is RadioButtonList
			|| control is RadioButton
			|| control is CheckBoxList
			|| control is CheckBox
			|| control is Button)
		{
			(control as WebControl).Enabled = false;
		}

		if (control.Controls.Count > 0)
			DisableInputControls(control);
	}
}

Example usage:

DisableInputControls(MyPlaceHolder);