希望在vb asp.net中回发时删除动态创建的标签

时间:2011-07-06 16:01:16

标签: asp.net vb.net dynamic postback

我有一个表单,其中包含基于数据库搜索的不同大小的动态创建标签数组。我遇到的问题是,当用户搜索不同的术语时,看起来某些标签不会获得新值。这是我添加标签的代码:

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 subs中的任何静止,但两者都没有效果。我不知道它是否可能与回发后具有相同ID的控件有关。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

你需要做这样的事情:

Me.Controls.Remove(controlName)

答案 1 :(得分:0)

知道了。当我创建动态标签时,我需要禁用标签的viewState。

locLabel.EnableViewState = False