FindControlは、探しているコントロールの名前がわかっている場合にのみ機能し、それ以上は再帰呼び出しではありません。あなたのコントロールがあなたが探している特定のコンテナにあることを保証できない限り、あなたはそれを見つけることができません。すべてのラジオボタンリストを検索する場合は、親子関係のすべてのコントロールセットを循環し、ラジオボタンリストをfalseに設定するメソッドを作成する必要があります。
この関数に渡すだけPage.Controls
です(テストされていない、微調整が必要な場合があります):
public void HideRadioButtonLists(System.Web.UI.ControlCollection controls)
{
foreach(Control ctrl in controls)
{
if(ctrl.Controls.Count > 0) HideRadioButtonLists(ctrl.Controls);
if("RadioButtonList".Equals(ctrl.GetType().Name, StringComparison.OrdinalIgnoreCase))
((RadioButtonList)ctrl).Visible = false;
}
}