我需要基於在下拉視圖中選擇的項目來構建高級搜索功能。asp.net訪問動態控件中的動態控件
我已經在asp.net中以編程方式構建了一個表,並且在這個表中我還動態地添加了一個標籤,文本框和下拉控件。
這些都可以正常顯示,但是卡住的部分是從文本框和後續下拉列表中取回值。
這是怎樣的表正在修建
Public Sub buildAdvancedOptions()
'Creat the Table and Add it to the Page
Dim table As New Table()
table.ID = "advancedTable"
Page.Form.Controls.Add(table)
For i As Integer = 0 To _dictOfClassAndCol.Count() - 1
Dim row As New TableRow()
Dim labelCell As New TableCell()
Dim textCell As New TableCell()
Dim optionsCell As New TableCell()
Dim tb As New TextBox()
Dim lbl As New Label()
Dim ddl As New DropDownList()
' Set a unique ID for each TextBox added
lbl.Text = _dictOfClassAndCol.Keys.ElementAt(i).ToString()
lbl.ID = "lbl" & _dictOfClassAndCol.Keys.ElementAt(i)
tb.ID = "txt" & _dictOfClassAndCol.Keys.ElementAt(i)
ddl.ID = "ddl" & _dictOfClassAndCol.Keys.ElementAt(i)
ddl.Items.Add("is equal to")
ddl.Items.Add("is not equal to")
ddl.Items.Add("is like")
ddl.Items.Add("is not like")
ddl.Items.Add("contains")
ddl.Items.Add("between")
labelCell.Controls.Add(lbl)
textCell.Controls.Add(tb)
optionsCell.Controls.Add(ddl)
' Add the TableCell to the TableRow
row.Cells.Add(labelCell)
row.Cells.Add(textCell)
row.Cells.Add(optionsCell)
row.Attributes.Add("class", _dictOfClassAndCol.Keys.ElementAt(i).ToString().Replace(" ", ""))
' Add the TableRow to the Table
table.Rows.Add(row)
Next
advanced.Controls.Add(table)
End Sub
我這是如何試圖讓文本框的值和下拉列表,以便我可以將它們傳遞到另一個函數建立一個字符串。
Protected Sub btnAdvancedSearch_Click(sender As Object, e As EventArgs) Handles btnAdvancedSearch.Click
Dim sb As StringBuilder = New StringBuilder()
Dim message As String = ""
For Each control As table In advanced.Controls.OfType(Of table)()
message += control.ID + ": " + control.ID + "\n"
Next
ClientScript.RegisterClientScriptBlock(Me.GetType(), "alert", "alert('" & message & "');", True)
End Sub
我能看到,我建行和單元格適量,但不能進入,以便找到在這裏控制稱爲"advancedTable"
表控制。
任何和所有幫助如何做到這一點將非常感激。
對於遲到的回覆Windows 10 BSOD發生,我失去了一天的工作感到抱歉,將回到你看看,如果這個工作稍後 –
不幸的是,這個答案沒有工作 –
你做它添加到窗體,所以也許嘗試Page.Form.FindControl(「advancedTable)而不是advanced.FindControl。 – N0Alias