>我有一个带有各种输入的aspx Web表单,包括一个带有1-10的下拉框。 提交表单后,将显示一个新面板,其中包含 10 行静态文本框和标签控件。 默认情况下,这些控件都设置为 visible=false。
我想要的是基于在上一个下拉框中选择的数字,即我要更改为 visible=true 的控件行数。 这些控件的 ID 对于每一行都是相同的,除了最后一个字符,以反映它们属于哪一行。 因此,第 1 行将具有以下内容:
ticketNum_Lbl_1your_res_Txt_1title_Txt_1firstname_Txt_1surname_Txt_1ticketNum_Txt_1
我想要的是一个简单的循环,它将检查控件 ID 末尾的数字,并将其与下拉列表中选择的数字进行比较。
为清楚起见,下拉列表供用户选择他们想要预订的桌子上的座位数,以下屏幕将让他们为他们预订的座位分配姓名。
我已经尝试了几件事,但显然仍然没有得到它,尽管它可能
大致如下: Dim rowsNeeded As Integer = number_of_tickets_Ddl.SelectedValue
For a = 1 To rowsNeeded
Me.Controls("ticketNum_Lbl_" & a).Visible = True
Me.Controls("your_res_Txt_" & a).Visible = True
Me.Controls("title_Txt_" & a).Visible = True
Me.Controls("firstname_Txt_" & a).Visible = True
Me.Controls("surname_Txt_" & a).Visible = True
Me.Controls("ticketNum_Txt_" & a).Visible = True
Next
但这会带来一个错误,因为控件引用索引(整数)而不是控件的名称或 ID(似乎?
任何帮助表示赞赏。
你应该使用 FindControl
Me.FindControl("ticketNum_Lbl_" & a).Visible = True