2012-11-22 53 views
0

渲染的LinkBut​​ton我創造與標記的自定義控制這樣的:在自定義控件

<Custom:CustomGrid> 
    <Columns> 
     <Custom:DataColumn HeaderText="FirstName" /> 
     <Custom:DataColumn HeaderText="LastName" /> 
    </Columns> 
</Custom:CustomGrid> 

我重寫這既是爲了分別呈現外DIV /表和列標籤渲染和RenderChildren。

我希望每個THS的,包括一個LinkBut​​ton,與HeaderText排序。我創建了一個foreach循環來遍歷列的集合,併爲其中的每個LinkBut​​ton創建一個TH。我渲染出LinkBut​​ton使用linkBtn.RenderControl(writer);

我在html中得到的只是一個空的錨標記。 我猜這是由於這樣的事實,即asp.net不知道呈現服務器控件的JS端時,這種方式呈現。 但我不知道我可以做什麼不同。 任何想法?

編輯:我可以看到HREF = 「JavaScript的:_doPostBack(' myGrid $ Sort_firstName ',' ')」 創建 。我不知道爲什麼這些字符是html轉義的,但我猜測它只是html源代碼查看器(或者可能不是......)無論如何,事件處理程序仍然沒有被解僱。

+0

你可以發佈你正在使用的實際代碼來嘗試嗎? –

+0

沒關係。得到它了。 –

回答

0

事實證明的CreateChildControls不是創建子控件的地方......(誰的咚吧...)

我感動的代碼添加控件的Controls總彙到OnInit的,一切都wiered正確地。

原來,CreateChildControls在生命週期中被調用的時間太晚,無法正確路由事件。