0

我有一个带有各种输入的 aspx web 表单,包括一个带有 1-10 的下拉框。提交表单后,可以看到一个新面板,其中包含 10 行静态文本框和标签控件。默认情况下,这些控件都设置为 visible=false。

我想要的是基于上一个下拉框中选择的数字,即我想将多少行控件更改为可见=真。这些控件的 ID 对于每一行都是相同的,除了最后一个字符来反映它们属于哪一行。因此,第 1 行将具有以下内容:

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(似乎?)。

任何帮助表示赞赏。

4

1 回答 1

2

你应该使用FindControl

Me.FindControl("ticketNum_Lbl_" & a).Visible = True
于 2012-08-09T10:49:48.157 回答