2011-08-08 34 views
0

我有一個ASP web項目,目前有一個可重用的usercontrol代表一個電子表格。 「形式」控件反過來有許多不同類型的「item」用戶控件。大約有十幾個不同的'item'用戶控件擴展了'item'類。表單及其項目從數據庫填充。這工作和編譯罰款。ASP C#用戶控件通知參考

我需要做的是能夠在其中一個項目類型中嵌入另一個Form Item來創建一個嵌入式表單。本質上取當前「Form1的 - > 1A項,項目1B,項目1C」的佈局,並使其循環,所以它可能看起來像

Form1 -> 
    Item1A 
    Item 1B-Form2 -> 
     Item2A 
     Item2B 
    Item1C 

所以的UserControl1的實例可以包含UserControl2的一個實例,其中將包含UserControl1的實例。

ASP給我下面的錯誤「[UserControl2] .ascx有一個循環引用!」。

這種結構甚至可能嗎?

非常感謝

回答

1

您是否嘗試通過其路徑動態添加控件?

例如:

WebUserControl1 uc = 
    (WebUserControl1) Page.LoadControl("WebUserControl1.ascx"); 
PlaceHolder1.Controls.Add(uc); 
+0

你好安東,謝謝您的建議。恐怕我已經使用你所建議的方法動態加載控件了(也許我應該提到過)。 我在標記中包含了對控件的引用 <%@ Register Src =「Control1.ascx」TagName =「Form」TagPrefix =「frm」%> - 這是導致循環引用的行,爲了能夠訪問後面的代碼中的對象,我需要有這個引用。 – Simon