所以我有一个程序可以根据特定条件动态加载用户控件,我遇到的问题是我的验证只是真正在加载的第一个文本框上工作。
为每个加载的usercontrol运行以下代码:
Try
TextBox = DirectCast(flpRepeatConts.Controls(Count).Controls("tbAnswerText"), Telerik.WinControls.UI.RadTextBox) ' Control(1) = TextBox Answer
LabelAnsID = DirectCast(flpRepeatConts.Controls(Count).Controls("lblQID"), RadLabel)
LabelMinHolder = DirectCast(flpRepeatConts.Controls(Count).Controls("lblMinTextHolder"), RadLabel)
lblValidationText = DirectCast(flpRepeatConts.Controls(Count).Controls("lblValidationText"), RadLabel)
If TextBox.Text.Length >= LabelMinHolder.Text And TextBox.Text.Length <= TextBox.MaxLength Then
'Good to go.
lblValidationText.Visible = False
Else
'Too little/not enough text
If LabelMinHolder.Text = TextBox.MaxLength Then
lblValidationText.Text = String.Format("Text must be exactly {0} Characters! ({1} of {0})", LabelMinHolder.Text, TextBox.Text.Length)
Else
lblValidationText.Text = String.Format("Text must be between {0} and {1} Characters!", LabelMinHolder.Text, TextBox.MaxLength)
End If
inError = True
lblValidationText.Visible = True
End If
Catch ex As Exception
'Exception Handling Here
End Try
Count += 1
这里的真正问题是,第一个标签之后的标签将永远不会显示(除非在其各自的文本框中至少有一个字符,在这种情况下错误信息会显示)。我和#39; m难倒,希望另一双眼睛能看到我不知道的东西。 我设置了断点并逐步执行此操作,文本和可见性 实际上已设置,但它们无法生效。