첫 번째 서버 컨트롤을 작성하십시오. "null이 될 수 없습니다 매개 변수 이름 : 자식"내 코드에 표시된 지점에서 디버그 오류가 발생했습니다. 부모의 page_load 이벤트가 호출 될 때 텍스트 상자가 작성되고 아무 것도 표시되지 않습니다. page_load 이벤트는 내 컨트롤의 OnInit와 CreateChildControls 사이에서 발생합니다. 예를 들어보기가 어렵습니다.'값을 가져 오는 간단한 사용자 정의 서버 컨트롤은 null 일 수 없습니다. 매개 변수 이름 : 자식 '
Public Class ContactForm
Inherits WebControl
#Region "Local variables"
Private _ShowFirstName As Boolean
Private tbFirstName As TextBox
#End Region
<Browsable(True), _
Bindable(True), _
Category("Appearance"), _
DefaultValue(True), _
Localizable(True), _
Description("Show First Name field")> _
Public Property ShowFirstName() As Boolean
Get
Return _ShowFirstName
End Get
Set(value As Boolean)
_ShowFirstName = value
End Set
End Property
Protected Overrides Sub OnInit(e As EventArgs)
If ShowFirstName = True Then
Dim tbFirstName As New TextBox
tbFirstName.ID = "tbFirstName"
tbFirstName.MaxLength = 30
tbFirstName.Text = "IM HERE"
End If
MyBase.OnInit(e)
End Sub
<<<<< --- NOTE: The Page_Load event of the parent fires here ->>>>>
Protected Overrides Sub CreateChildControls()
Me.Controls.Add(tbFirstName) <<---Error: Value cannot be null. Parameter name: child
If HasChildViewState Then
ClearChildViewState()
End If
MyBase.CreateChildControls()
End Sub
End Class
나는 T | F와 아무 값도 시도했다. 디버그에서 텍스트 상자가 올바르게 생성 된 것을 볼 수 있습니다. 어떻게 든 그것은 CreateChildControls 이벤트가 발생할 때까지 (로컬 변수 임에도 불구하고) 삭제됩니다. – Ted