我有一個加載自定義用戶控件的Sharepoint WebPart。用戶控件包含一個Repeater,該Repeater包含多個LinkButton。ASP.NET - 在RenderContent調用中將Repeater處理程序添加到Repeater內部的LinkButton中
在RenderContent通話中的WebPart我有一些代碼,添加事件處理程序:
ArrayList nextPages = new ArrayList();
//populate nextPages ....
AfterPageRepeater.DataSource = nextPages;
AfterPageRepeater.DataBind();
foreach (Control oRepeaterControl in AfterPageRepeater.Controls)
{
if (oRepeaterControl is RepeaterItem)
{
if (oRepeaterControl.HasControls())
{
foreach (Control oControl in oRepeaterControl.Controls)
{
if (oControl is LinkButton)
{
((LinkButton)oControl).Click += new EventHandler(PageNavigateButton_Click);
}
}
}
}
}
功能PageNavigateButton_Click從未但是調用。但是我可以看到它作爲調試器中的事件處理程序添加。
任何想法?我很難過如何做到這一點。
在閱讀了人們的建議之後,我已經搞砸了代碼。我正在嘗試在CreateChildControls()函數中添加事件處理程序,但它們仍未被解僱。感謝所有幫助到目前爲止,這是讚賞 – 2008-09-24 15:49:16
對於那些在比賽中看到這一點。不要使用CreateChildControls ...這在循環中還爲時過晚。而是重寫OnInit處理程序來構建所有動態控件。 – NotMe 2009-09-03 01:51:45