C#ASPアプリケーションのフォーム検証コントロールを構築しています。作業の大部分は、検証出力のマークアップも持つBaseValidatorコントロール(サブクラス化System.Web.UI.UserControl)によって処理されます。次に、これは、Validateメソッドとそのバリデーターコントロールに必要な追加フィールドを提供するPasswordValidatorなどのサブコントロールによって拡張されます。
(最終的な目標は、<uc1:PasswordValidator ControlId = "txtPassword" />のようなコントロールを用意することです。これにより、最小限の重複で任意の形式に展開できます。)
ただし、PasswordValidator.ascx.csは、BaseValidator.ascxで定義されているフォーム要素にアクセスできません。私がそうすることを見つけた唯一の方法は、各サブコントロールの*.ascxファイルにマークアップを複製することです。BaseValidator.ascx.csを拡張し、サブクラスのBaseValidator.ascxのマークアップにアクセスするにはどうすればよいですか?