我尝试创建一个继承自DropDownList
的自定义控件。在此控件中,我想添加RequiredFieldValidator
。
如果我删除标记的行,则会呈现页面,但Validator
不起作用。使用标记的行发生以下错误:
System.Web.HttpException: TEST lässt keine untergeordneten Steuerelemente zu.
public class TEST: DropDownList
{
private RequiredFieldValidator rfv;
protected override void OnInit(EventArgs e)
{
rfv = new RequiredFieldValidator();
rfv.ID = this.ClientID;
rfv.ControlToValidate = ID;
rfv.Display = ValidatorDisplay.Static;
rfv.SetFocusOnError = true;
rfv.InitialValue = "";
rfv.CssClass = "validator";
rfv.ValidationGroup = ValidationGroup;
--> Controls.Add(rfv); <--
}
protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
rfv.RenderControl(writer);
}
}
我开发了一个类似的控件,它继承自TextBox
,并且工作正常(带有标记的行)。