2009-07-19 49 views
0

我正在使用ASP.Net 2.0。我有一个继承自第三方供应商控制的自定义控件。我试图重写渲染方法。尝试覆盖控件的Render事件时出现ClientID问题

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 

我需要的是,在某些情况下,我想能够呈现一个按钮,而不是原始控件。 但我希望按钮具有与控件相同的客户端ID,以便我可以使用JavaScript来操作它。

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

回答

1

ClientID基于其父级的控件的ID和UniqueID。当你创建你的按钮时,你应该给它一个ID。我没有看到你的代码中发生这种情况。你暗淡它后,使用d.ID="btnIdNameHere"

MSDN:由 产生串接 控件和它的父 控制的UniqueID值的ID值

的客户端ID值。如果没有指定 控件的ID值,则使用自动生成的值 。

+0

使用d.ID =“btnIdNameHere”不适用于我,因为我的控件位于面板中。它也可以在多个嵌套面板中使用。 所以当我创建按钮时,我似乎无法使它与我的原始控件具有相同的ID。 – janem 2009-07-19 23:28:01

相关问题