2009-10-27 58 views

回答

1

假設您要渲染的部分不是連續的,您的選擇是將您的控件分隔爲每個部分的單獨控件,或者創建一個具有方法/屬性的類,以分別返回每個部分的代碼或控件列表。

2

確定這是可能的。讓你的用戶控件這樣的:

<asp:PlaceHolder runat="server" id="section1"> 
content 
</asp:Placeholder> 
<asp:PlaceHolder runat="server" id="section2"> 
content 
</asp:Placeholder> 
<asp:PlaceHolder runat="server" id="section3"> 
content 
</asp:Placeholder> 

和後面的代碼中添加3個屬性是這樣的:

public Control Section1 
{ 
    get{return section1;} 
} 

public Control Section2 
{ 
    get{return section2;} 
} 

public Control Section3 
{ 
    get{return section3;} 
} 

然後,在你的aspx你將有代表3位3個佔位符,您要的章節用戶控制權去。在ASPX Page_Load方法的代碼應該是這樣的:

MyUsercontrol c = LoadControl("MyUsercontrol.ascx") as MyUsercontrol; 
placeholder1.Controls.Add(c.Section1); 
placeholder2.Controls.Add(c.Section2); 
placeholder3.Controls.Add(c.Section3); 
+0

+1的示例代碼。 – 2009-10-27 21:20:26

+0

這是一個非常有趣的方法 – 2011-03-11 19:11:54