我成功創建了用於顯示錯誤消息的用戶控件。現在一切正常,但顯示消息時可以訪問後臺控件。如何禁用頁面控件或頁面點擊或選擇任何控件。當消息面板關閉時,它應該啓用頁面控件。如何在選擇usercontrol時禁用ASP.NET頁面中的控件?
我找到了答案的朋友。
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;
}
}
}
當用戶控件被激活時,我得到了div中我添加了controls.but的頁面中的控件從我調用的地方也是活動的。我想禁用該頁面中的控件。 – 2010-12-11 14:36:45
我想你會發現你可以通過簡單地使用下面的代碼來大大簡化你的代碼*:foreach(parent.Controls中的Control c){c.Enabled = false; }因爲Enabled是Control的一個屬性。 – Crisfole 2010-12-20 14:43:42
感謝您的回覆。我已經嘗試過,但不能成功完成。它會拋出一個錯誤。 – 2010-12-20 15:19:25