想要在vb中回发删除dynamiclly创建的标签asp.net
我有一个表格,它有一个基于数据库搜索的动态创建的不同大小的标签数组。我遇到的问题是,当用户搜索不同的术语时,看起来有些标签没有获得新的值。这里是我的代码添加标签:想要在vb中回发删除dynamiclly创建的标签asp.net
If rdr.HasRows Then
ReDim Preserve entities(cnt)
While rdr.Read()
entities(cnt) = New Label()
If getNodeType(txtSearch.Text) = "command" Then
entities(cnt).Text = rdr("name").ToString
Else
entities(cnt).Text = rdr("command").ToString
End If
entities(cnt).ID = "entity" & cnt
Panel1.Controls.Add(entities(cnt))
place_label(entities(cnt), cnt)
cnt += 1
ReDim Preserve entities(cnt)
End While
End If
我在PANEL1试过遍历所有的控件仍然处于两者在Page_Load和page_init潜艇上有出售任何,但也有效果。我不知道它是否可能与回发后具有相同ID的控件有关。
任何帮助将不胜感激。
明白了。当我创建动态标签时,我需要禁用标签的viewState。
locLabel.EnableViewState = False
你需要做这样的事情:
Me.Controls.Remove(controlName)
我在哪里可以做到这一点,是不同的,然后我在page_load/page_init尝试? – spuppett
你可能会遍历页面上的所有控件,比如说page_load,并删除所有标签控件。 – developerdoug
刚刚尝试过int page_load并且没有改变。 For i = 0 To Panel1.Controls.Count - 1 Me.Controls.Remove(Panel1.Controls(i)) Next – spuppett
由于我还没有足够的积分来回答,下面是我的解决方案:当我创建动态标签时,我需要禁用viewState。 – spuppett