Как отключить все элементы управления на странице ASP.NET?
Я знаю, что это старый пост, но webform именно так я решил эту проблему. В c#-language соответствии с заголовком webforms «Как отключить все элементы webforms управления на странице ASP.NET?» Для c# этого я использовал Reflection; он c#-language будет работать со всеми типами .cs-file элементов управления, у которых csharp есть свойство Enabled. Просто c-sharp вызовите DisableControls, передавая .cs-file родительский элемент управления asp.net-webforms (т.е. форму).
C#:
private void DisableControls(System.Web.UI.Control control)
{
foreach (System.Web.UI.Control c in control.Controls)
{
// Get the Enabled property by reflection.
Type type = c.GetType();
PropertyInfo prop = type.GetProperty("Enabled");
// Set it to False to disable the control.
if (prop != null)
{
prop.SetValue(c, false, null);
}
// Recurse into child controls.
if (c.Controls.Count > 0)
{
this.DisableControls(c);
}
}
}
VB:
Private Sub DisableControls(control As System.Web.UI.Control)
For Each c As System.Web.UI.Control In control.Controls
' Get the Enabled property by reflection.
Dim type As Type = c.GetType
Dim prop As PropertyInfo = type.GetProperty("Enabled")
' Set it to False to disable the control.
If Not prop Is Nothing Then
prop.SetValue(c, False, Nothing)
End If
' Recurse into child controls.
If c.Controls.Count > 0 Then
Me.DisableControls(c)
End If
Next
End Sub
c#
webforms
asp.net-controls
Как отключить все элементы управления на странице ASP.NET?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.