我正在为我们的 C# ASP 应用程序构建表单验证控件。大部分工作由 BaseValidator 控件(继承 System.Web.UI.UserControl)处理,该控件还具有验证输出的标记。然后通过 PasswordValidator 等子控件进行扩展,该子控件提供 Validate 方法和该验证器控件所需的任何额外字段。
(最终目标是拥有像 <uc1:PasswordValidator ControlId="txtPassword" /> 这样的控件,我们可以以最少的重复将其放入任何形式。)
但是,PasswordValidator.ascx.cs 无法访问 BaseValidator.ascx 中定义的表单元素;我发现这样做的唯一方法是在每个子控件的 *.ascx 文件中复制标记。如何扩展 BaseValidator.ascx.cs 并在子类中访问 BaseValidator.ascx 的标记?