2

後でフォームの値を再入力できるように、特定の親内のすべてのフォーム入力コントロールを精査する汎用関数を作成しようとしています。

各コントロールのIDVALUEを Cookieに保存し、VALUEFindControl(ID)を設定する前に を使用してコントロールを見つけ、コントロールを再設定します。

内部に子コントロールがあるユーザーコントロールのインスタンスが複数ある場合を除いて、すべて正常に動作します。

たとえば、DateRange コントロールは 2 つのテキスト ボックスを定義します...

<asp:TextBox ID="txtDateFrom"  />
<asp:TextBox ID="txtDateTo"  />

次に、フォームに 2 つの DateRange コントロールがある場合...

<my:daterange id="DateRangeA" />
<my:daterange id="DateRangeB" />

... ID が両方(および 2x ) である2 つのテキスト ボックスがあるため、両方の値を Cookie に格納することも (ID が一意ではないため)、 を使用してコントロールを再度取得することもできません。txtDateFromtxtDateToFindControl()

私が望むのは に似てFindControl(ID)いますが、代わりに CLIENTID を使用して、異なるユーザーコントロール内の同じ ID を持つ子コントロールを区別できるようにします。

私は、すべてのコントロールへの完全なパスを (何らかの方法で) 手動で保存しなければならないという考えにうんざりしていFindControl(IDa).FindControl(IDb).FindControl(IDc)...ます。

もっと簡単な方法があるはずですよね?

それとも、私はこれにすべて間違って近づいていますか? アドバイスありがとうございます。

4

1 に答える 1