Frågan#1
Har du märkt att det finns en Enabled-egenskap för alla klasser som ärver från WebControl? Då kanske du också har märkt att den inte fungerar i bl.a. Mozilla om det är en kontroll med andra kontroller, t.ex. Panel.
Lösningen är att ändra alla kontrollers Enabled-egenskap.
public static void EnableControl(WebControl control, bool enabled)
{
foreach(Control child in control.Controls)
{
WebControl webchild = child as WebControl;
if(webchild != null)
{
webchild.Enabled = enabled;
EnableControl(webchild, enabled);
}
}
}