ASP.NETページですべてのコントロールを無効にするにはどうしたらいいですか?
ページ内に複数のドロップダウンリストがあり、ユーザーがdisable allと書かれたチェックボックスを選択した場合、すべてを無効にしたいと思います。今のところ、私はこのコードを持っていますが、それは動作しません。何か提案はありますか?
foreach (Control c in this.Page.Controls)
{
if (c is DropDownList)
((DropDownList)(c)).Enabled = false;
}
21
3
各コントロールは子コントロールを持つので、それらすべてに到達するためには再帰を使用する必要があります。
そして、このように呼び出します。
無効にしたい操作をパネルにまとめて、そのパネルだけを有効化/無効化すれば一番簡単だと思います。
これは再帰的に行う必要があり、つまり、コントロールの子コントロールを.NETに無効化する必要があるのです。