我有一個用戶控件我正在加載到一個在UpdatePanel內的div中。這裏是我的加載它的代碼:找不到動態添加用戶控件的實例.Net
controls.IDLControl IdlControl = LoadControl(@"~/controls/IDLControl.ascx") as controls.IDLControl;
IdlControl.ClientIDMode = ClientIDMode.Static;
IdlControl.ID = "IDLControl";
spGroup.Controls.Clear();
spGroup.Controls.Add(IdlControl);
這裏是我試圖檢索它的一個實例代碼:
controls.IDLControl IdlControl = RecursiveFindControl(this, "IDLControl") as controls.IDLControl;
private Control RecursiveFindControl(Control targetControl, string findControlId) {
if (targetControl.HasControls()) {
foreach (Control childControl in targetControl.Controls) {
if (childControl.ID == findControlId) {
return childControl;
}
RecursiveFindControl(childControl, findControlId);
}
}
return null;
}
但是,我得到的是空。我需要幫助解決這個問題。我需要重新將控件添加到pre-init頁面上,但它是可以添加的控件之一,這取決於從下拉列表中選擇哪個選項(它也是動態填充的) 。我被困在試圖弄清楚如何使這項工作。
直到將其添加回'Page_Init'事件中,您纔會得到它。您可以隨時在「Page_Init」事件的下拉列表中檢查Selected選項,並決定是否添加您的用戶控件。 –