代码之家  ›  专栏  ›  技术社区  ›  LockeCJ

是否将CalendarExtender动态添加到文本框子类服务器控件?

  •  2
  • LockeCJ  · 技术社区  · 17 年前

    我正在尝试创建一个从文本框继承的服务器控件,该控件将自动具有 CalendarExtender 附属于它。可以这样做吗,还是我的新控件需要从CompositeControl继承?我已经尝试过前者,但我不清楚在控制生命周期的哪个部分我应该创建CalendarExtender的新实例,以及我应该将它添加到哪些控制集合中。我似乎无法将其添加到页面或窗体的控件集合中,如果将其添加到(文本框)控件的集合中,则无法获得任何弹出日历功能。

    4 回复  |  直到 17 年前
        1
  •  2
  •   Joseph Daigle Sarabpreet Singh Anand    17 年前

    CreateChildControls

    TextBox textbox = new TextBox();
    textbox.ID = this.ID + "Textbox";
    textbox.Text = this.EditableField.TextValue;
    textbox.TextChanged += new EventHandler(HandleTextboxTextChanged);
    textbox.Width = new Unit(100, UnitType.Pixel);
    CalendarExtender calExender = new CalendarExtender();
    calExender.PopupButtonID = "Image1";
    calExender.TargetControlID = textbox.ID;
    this.Controls.Add(textbox);
    this.Controls.Add(calExender);
    

        2
  •  1
  •   spot    16 年前

    Imports System.Web.UI.WebControls
    Imports AjaxControlToolkit
    
    Public Class DateTextBox
        Inherits TextBox
    
        Private _dateValidator As CompareValidator
        Private _calendarExtender As CalendarExtender
    
        Protected Overrides Sub OnInit(ByVal e As System.EventArgs)
            MyBase.OnInit(e)
    
            _dateValidator = New CompareValidator
            With _dateValidator
                .ControlToValidate = ID
                Rem set your other properties
            End With
            Controls.Add(_dateValidator)
    
            _calendarExtender = New CalendarExtender
            With _calendarExtender
                .TargetControlID = ID
            End With
            Controls.Add(_calendarExtender)
        End Sub
    
        Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
            MyBase.Render(writer)
            _dateValidator.RenderControl(writer)
            _calendarExtender.RenderControl(writer)
        End Sub
    End Class
    
        3
  •  1
  •   Vikram chouhan    14 年前

        4
  •  0
  •   Ranadheer Reddy    14 年前

    推荐文章