FooControl (아래)에서 마지막 문제를 해결 한 것과 같은 방식으로이 문제를 해결하는 것이 간단한 문제입니다.유효성 검사기가 포스트 백 (PostBack) 복합체 컨트롤에서 사라짐
기본적으로이 합성 컨트롤에 만든 파생 된 유효성 검사기를 추가하고 싶습니다. 그것은 잘 작동하지만 포스트 백에서는 마크 업에서 사라져서 ViewState가 손실되었다고 생각하게 만듭니다.
아마도 인스턴스화에 문제가 있습니다.하지만 ControlToValidate 만 설정하고 주변을 움직여 보았습니다. 아무 것도 작동하지 않았습니다.
나는 무엇이 효과적인지 아닌지 주변 코드를 제공했습니다.
Private FooControl As IFooControl
Private Validator As MyValidator
Protected Overrides Sub CreateChildControls()
FooControl = FooControlProvider.CreateFooControl(blah)
Me.Controls.Add(FooControl.RetrieveControl())
' Begin Not Working
Validator = New MyValidator()
Me.Controls.Add(Validator)
Validator.ID = "MyValidatorID"
Validator.ControlToValidate = FooControl.ID
Validator.IsRequired = True ' Custom property
Validator.ErrorMessage = "Please select an answer"
' End Not Working
If Not DataSource Is Nothing Then
FooControlProvider.AssignDataSource(DataSource, FooControl)
End If
End Sub
디버깅시 CreateChildControls가 PostBack에서 호출 되나요? – BigBlondeViking
예, PostBack에서 중단됩니다. – kamranicus