[英]looping through asp.net textboxes visual basic
我有一個asp.net,后面有一些vb代碼。 我需要遍歷許多文本框並基於其中一個框上的值,使字段可見(或其他)
每個“行”字段都有6個相關字段,我使用前綴和sufix來區分它們。
If txtOC7_D.Text <> "" Then
txtOC7_D.Enabled = True
txtOC7_C.Enabled = True
txtOC7_1.Enabled = True
txtOC7_2.Enabled = True
txtOC7_3.Enabled = True
txtOC7_B.Enabled = True
ElseIf txtOC7_D.Text = "" Then
txtOC7_D.Enabled = False
txtOC7_C.Enabled = False
txtOC7_1.Enabled = False
txtOC7_2.Enabled = False
txtOC7_3.Enabled = False
txtOC7_B.Enabled = False
End If
If txtOC8_D.Text <> "" Then
txtOC8_D.Enabled = True
txtOC8_C.Enabled = True
txtOC8_1.Enabled = True
txtOC8_2.Enabled = True
txtOC8_3.Enabled = True
txtOC8_B.Enabled = True
ElseIf txtOC8_D.Text = "" Then
txtOC8_D.Enabled = False
txtOC8_C.Enabled = False
txtOC8_1.Enabled = False
txtOC8_2.Enabled = False
txtOC8_3.Enabled = False
txtOC8_B.Enabled = False
End If
我總共有20套(每套6個字段)。 因此,我想按以下步驟進行操作(標准VB),但看不到如何在ASP.NET VB上進行操作:
for l=1 to 20
If Controls("txtOC" & l) & "_D"<>"" Then
Controls("txtOC" & l) & "_D".visible=true
Controls("txtOC" & l) & "_C".visible=true
Controls("txtOC" & l) & "_1".visible=true
Controls("txtOC" & l) & "_2".visible=true
Controls("txtOC" & l) & "_3".visible=true
Controls("txtOC" & l) & "_B".visible=true
else
Controls("txtOC" & l) & "_D".visible=false
Controls("txtOC" & l) & "_C".visible=false
Controls("txtOC" & l) & "_1".visible=false
Controls("txtOC" & l) & "_2".visible=false
Controls("txtOC" & l) & "_3".visible=false
Controls("txtOC" & l) & "_B".visible=false
end if
next l
任何幫助將不勝感激。
您可以執行您要的操作,但可以使用F indControl並將其正確連接。
If CType(FindControl("txtOC" & l & "_D"), TextBox).Text <>"" Then
CType(FindControl("txtOC" & l & "_D"), TextBox).Visible=true
如果找不到控件,請將其放在占位符中,然后在占位符對象上調用FindControl。
您應該尋找反射方法。
但是,您也可以創建一個面板,並將同一行中的所有這些字段放入其中。 這樣,您可以使面板可見或不可見。
第三個選擇是,您還可以對控件使用foreach循環,然后執行檢查並相應地隱藏或顯示。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.