I Creó correctamente un control de usuario para mostrar el mensaje de error. ahora todo funciona bien, pero cuando se muestra el mensaje, se puede acceder a los controles de fondo. cómo deshabilitar los controles de página o la página al hacer clic o seleccionar cualquier control. y cuando el panel de mensajes está cerrado, debe habilitar los controles de página.¿Cómo deshabilitar los controles en una página ASP.NET cuando se selecciona usercontrol?
encontré la respuesta amigos.
void DisableControls(Control parent, bool status)
{
foreach (Control c in parent.Controls)
{
if (c is DropDownList)
{
((DropDownList)(c)).Enabled = status;
}
if (c is Button)
{
((Button)(c)).Enabled = status;
}
if (c is TextBox)
{
((TextBox)c).Enabled = status;
}
if (c is RadioButton)
{
((RadioButton)c).Enabled = status;
}
if (c is ImageButton)
{
((ImageButton)c).Enabled = status;
}
if (c is CheckBox)
{
((CheckBox)c).Enabled = status;
}
if (c is DropDownList)
{
((DropDownList)c).Enabled = status;
}
if (c is HyperLink)
{
((HyperLink)c).Enabled = status;
}
if (c is GridView)
{
((GridView)c).Enabled = status;
}
if (c is Table)
{
((Table)c).Enabled = status;
}
if (c is Menu)
{
((Menu)c).Enabled = status;
}
if (c is TreeView)
{
((TreeView)c).Enabled = status;
}
}
}
cuando el control de usuario está activado, recibí el div en el que he agregado los controles. Pero los controles en la página desde la que llamé también están activos. quiero deshabilitar los controles en esa página. –
Creo que encontrará que puede simplificar su código * enormemente * simplemente usando lo siguiente: 'foreach (Control c en parent.Controls) {c.Enabled = false; } 'porque Enabled es una propiedad de' Control'. – Crisfole
gracias por la respuesta. Ya lo intenté pero no puedo hacerlo con éxito. arroja un error. –