TextBox と Label コントロールをその Controls コレクションに追加する複合コントロールがあります。Label の AssociatedControlID を Textbox の ClientID に設定しようとすると、このエラーが発生します
Unable to find control with id
'ctl00_MainContentPlaceholder_MatrixSetControl_mec50_tb'
that is associated with the Label 'lb'.
わかりましたので、少し背景を説明します。コントロール コレクションに多数の「要素」を動的に追加する、このメイン コンポジット コントロールを取得しました。これらの要素の 1 つがこの 'MatrixTextBox' です。これは、TextBox と Label で構成されるコントロールです。
Label と TextBox を保護されたクラス変数として保持し、CreateChildControls で初期化します。
ElementTextBox = new TextBox();
ElementTextBox.ID = "tb";
Controls.Add(ElementTextBox);
ElementLabel = new Label();
ElementLabel.ID = "lb";
Controls.Add(ElementLabel);
を設定してみました
ElementLabel.AssociatedControlID = ElementTextBox.ClientID;
Controls コレクションにコントロールを追加した直後と PreRender の両方で、同じエラーが発生します。私は何を間違っていますか?