I have the following code for creating a web control. It basically extends a text box and adds a required field validator and an ajax extension. However, when I change the class that it inherits from to a dropdownlist, I get an error.
Code:Imports System Imports System.Collections.Generic Imports System.ComponentModel Imports System.Text Imports System.Web Imports System.Web.UI Imports System.Web.UI.WebControls Namespace Mindscape <DefaultProperty("Text"), ToolboxData("<{0}:tb runat=server></{0}:tb>")> _ Public Class tb Inherits TextBox Private oRFV As RequiredFieldValidator Private oVCE As AjaxControlToolkit.ValidatorCalloutExtender <Bindable(True), DefaultValue(False)> _ Property Required() As Boolean Get Return CBool(ViewState(Me.ID & "Required")) End Get Set(ByVal value As Boolean) ViewState(Me.ID & "Required") = value End Set End Property <Bindable(True), DefaultValue("*")> _ Property ErrorMessage() As String Get Return ViewState(Me.ID & "ErrorMessage") End Get Set(ByVal value As String) ViewState(Me.ID & "ErrorMessage") = value End Set End Property Protected Overrides Sub OnInit(ByVal e As System.EventArgs) Me.BuildControls() End Sub Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter) MyBase.Render(writer) writer.Write(" ") oRFV.RenderControl(writer) oVCE.RenderControl(writer) End Sub Protected Sub BuildControls() ' required field validator oRFV = New RequiredFieldValidator oRFV.ID = Me.ID & "_oRFV" oRFV.ControlToValidate = Me.ID oRFV.ErrorMessage = Me.ErrorMessage oRFV.Enabled = Me.Required oRFV.Display = ValidatorDisplay.None Me.Controls.Add(oRFV) ' required extender oVCE = New AjaxControlToolkit.ValidatorCalloutExtender oVCE.ID = Me.ID & "_oVCE" oVCE.TargetControlID = oRFV.ID Me.Controls.Add(oVCE) End Sub End Class End NamespaceCode:'MindscapeServerControls.Mindscape.tb' does not allow child controls.







Bookmarks