動的に追加された各チェックボックスには、自動割り当てされた ID があります。
したがって、チェックボックスを追加するときに for ループを想定すると....チェックボックスを作成するときに、.ClientID = x; を追加します。
次に、コントロールを取得したいときに使用します
CheckBox chkbox = (CheckBox)Use Gridview.Findcontrol(x);
if(chkbox!=null)
{
//Do Something
}
「x」は、作成時にチェックボックス ID に割り当てられた値です。
注: 検索コントロールは不安定になる可能性があるため、ここでは一致するものが見つかるまでコントロール ツリー全体 (またはその一部) をループすることによって機能するものを使用します。
public Static Control FindControlRecursive(Control root, string id)
{
if (root.ID == id)
{
return root;
}
foreach (Control c in root.Controls)
{
Control t = FindControlRecursive(c, id);
if (t != null)
{
return t;
}
}
return null;
}
コントロール ルートは、ページ、マスター、またはコントロール (GridView など) にすることができます。
2番目の注意:これは静的としてマークされているため、Class.FindControlRecursive()として使用するか、静的参照を完全に削除して単一ページでのみ使用します