2009-07-19 84 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

相關問題