2012-08-09 27 views
0

我有一个带有各种输入的aspx web窗体,包括带有1-10的下拉框。提交表单时,可以看到一个新的面板,其中有10行静态文本框和标签控件。这些控件默认设置为visible = false。使用循环更改具有相似ID的多重控件的属性VB.net

我想要的是基于在上一个下拉框中选择的数字,即我想要更改为visible = true的控件的行数。除了最后一个反映它们属于哪一行的字符以外,这些控件的ID是相同的。因此,第一行向会具备以下条件:

ticketNum_Lbl_1 your_res_Txt_1 title_Txt_1 firstname_Txt_1 surname_Txt_1 ticketNum_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(看起来像?)。

任何帮助表示赞赏。

回答

2

您应该使用FindControl

Me.FindControl("ticketNum_Lbl_" & a).Visible = True 
+0

惊讶于这是如何快速回答这个完美的作品。非常感谢你!当我真的被允许的时候,我会在3分钟内给出答案。 – Ryan 2012-08-09 10:58:36

+0

很高兴我能帮到你。 – Magnus 2012-08-09 11:00:17