不允许子控件错误

分享于 

2分钟阅读

Web开发

  繁體

屏幕截图- does-not-allow-child-controls。gif

介绍

我试图创建一个自定义控件,该控件从 DropDownList 继承到必需的字段验证。 我的原始目的是在自定义drop-down-list控件上嵌入 RequiredFieldValidator,以便在我的ASPX页上添加drop-down-list时,不必重新编码 RequiredFieldValidator

我试图将必需的字段验证器添加为drop-down-list的子控件时,我得到了"不允许子控件"错误消息,如下所示。 似乎 out-of-the-box drop-down-list不允许添加子控件。

使用代码

编程时,我总是拥有这里主体: "应用程序上最大的错误通常是由the-easiest-to-fix部分引起的"。 昨天我花了几个小时来做这个工作,猜测。。修复是非常简单的。 就是这样代码在 VB.NET. 里

要做的是重写基类的CreateControlCollection 方法并创建它的新实例并传递当前类( 对于 VB.Net,或者 这个 C# )。

'''<summary>''' Override the CreateControlCollection to overcome the"does not allow child controls".'''</summary>'''<returns></returns>'''<remarks></remarks>ProtectedOverridesFunction CreateControlCollection() As System.Web.UI.ControlCollection
 ReturnNew ControlCollection(Me)EndFunction

就这样你可以执行以下操作: !

MyBase.Controls.Add(ctrValidator)

Points of Interest

安静,如果从out-of-the-box控件继承同样的问题,这将是解决方案。

希望这有帮助


相关文章