Xav*_*nas 11 asp.net validation user-controls
我有一个ASP.Net Web用户控件,其中包含一个TextBox和Ajax Control Toolkit中的日历.
当我在我的页面上包含这个用户控件时,我希望它参与输入验证(在UC内的TextBox上设置了一个必需的文件验证器),即.当页面被验证时,UC的内容也应该被验证.所以我让我的UC实现了IValidator接口,除了我无法在用户控件上设置验证组之外,它运行良好.显然我应该继承BaseValidator来做到这一点,但我不能,因为我已经继承了UserControl.
必须有办法处理这种常见情况.
Sjo*_*erd 13
您可以通过用美元符号分隔两个控件来引用用户控件中的控件:
<asp:RequiredFieldValidator ControlToValidate="MyUserControl$ControlId" runat="server" />
Run Code Online (Sandbox Code Playgroud)
Sco*_*vey 10
在新用户控件上创建一个属性,该属性在包含的验证器上设置验证组.然后从标记中,您只需在控件上设置ValidationGroup属性,然后滚动到用户控件中包含的验证器.除非您正在创建JUST验证用户控件,否则您可能不需要接口或继承BaseValidator.
public string ValidationGroup
{
get
{
return MyRequiredFieldValidator.ValidationGroup;
}
set
{
MyRequiredFieldValidator.ValidationGroup = value;
}
}
Run Code Online (Sandbox Code Playgroud)