尝试覆盖控件的Render事件时ClientID问题

时间:2009-07-19 17:25:27

标签: asp.net vb.net

我正在使用ASP.Net 2.0。我有一个自定义控件继承自第三方供应商的控件。我正在尝试覆盖Render方法。

Protected Overrides Sub Render(ByVal writer As HtmlTextWriter)
 if (some condition is true) then    
   Dim d As New Button()    
   d.RenderControl(writer)    
 else    
   MyBase.Render(writer)    
 end if    
end sub

我需要的是在某些情况下我希望能够渲染Button而不是原始控件。 但我希望Button具有与控件相同的客户端ID,以便我可以使用javascript来操作它。

如何为按钮指定clientid? 谢谢。

1 个答案:

答案 0 :(得分:1)

ClientID基于其父级的控件ID和UniqueID。创建按钮时,您应该为其指定ID。我没有看到你的代码中发生了这种情况。在对其进行调暗后,请使用d.ID="btnIdNameHere"

来自MSDN

  

ClientID值由生成   连接的ID值   控制和它的UniqueID值   父母控制。如果是ID的值   没有指定控制,a   使用自动生成的值。