找到动态添加的面板

时间:2016-01-27 15:50:53

标签: asp.net vb.net dynamic panel

我正在向我的网络应用程序添加这样的面板:

For i = 1 To amountOfRechnungspositionen + 1 
  Dim pnlPositon As Panel = New Panel
  pnlPositon.ID = "pnlPositon" & i
  pnlRechungsposition.Controls.Add(pnlPositon)
   ... 
Next

现在如果我点击一个按钮,我想删除这个面板。 这是我的代码。

Private Sub imgDelRechnungsPosition_Click(sender As Object, e As ImageClickEventArgs) Handles imgDelRechnungsPosition.Click

    amountOfRechnungspositionen = Convert.ToInt32(hfAmountofRechnungspositionen.Value)

    Dim fcpnlPositon As Panel = DirectCast(pnlRechungsposition.FindControl("placeholderID$pnlPositon" + amountOfRechnungspositionen.ToString()), Panel)
    fcpnlPositon.Dispose()

    hfAmountofRechnungspositionen.Value = Convert.ToString(amountOfRechnungspositionen - 1)

End Sub

但是fcpnlPositon没什么。 我做错了吗?

谢谢你的阅读。

1 个答案:

答案 0 :(得分:0)

尝试使用:

CType(pnlRechungsposition.FindControl("pnlPositon" + 
           amountOfRechnungspositionen.ToString()), Panel)

占位符文本仅用于客户端标记,因此您希望使用直接ID属性。