我需要基于在下拉视图中选择的项目来构建高级搜索功能。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