テキストボックスとドロップダウンで構成されるページのコントロールを循環させてクリアしようとしています。
デバッグすると、親は現在のページ、値は ASP.nameOfCurrentpage_aspx と等しく、タイプは system.web.ui.page と等しくなりますが、c は ASP.site_master の値と system.web.ui.control のタイプを持ちます。また、x を入力して検出されたコントロールの数を確認すると、ページに 15 個程度のテキスト ボックスがあるにもかかわらず、x は 1 として返されます。c に ASP.nameOfCurrentpage_aspx の値を強制する方法はありますか? それとも私の問題ではないですか?どんな助けでも大歓迎です。
Protected Sub btnClear_Click(sender as Object, e as System.eventargs) Handles btnClear.Click
ClearForm(Page)
End Sub
Public Sub ClearForm(ByRef Parent As Control)
Dim c As Control
Dim x As Integer = Parent.Controls.Count
For Each c In Parent.Controls
If c.GetType.ToString = "System.Web.UI.HtmlControls.HtmlForm" Then
ClearForm(c)
ElseIf c.GetType() Is GetType(TextBox) Then
'is it a Text Box?
Dim t As TextBox = c
t.Text = ""
ElseIf c.GetType() Is GetType(DropDownList) Then
'is it a dropdown list?
Dim d As DropDownList = c
d.ClearSelection()
End If
Next
End Sub