我有一個名爲UC_Widget的UserControl,它從System.Web.UI.UserControl和ITextControl繼承。它也覆蓋了AddParsedSubObject函數。當我像下面一樣使用它時,它運行良好。如何將UserControl添加到其他UserControl?
<uc1:UC_Widget ID="UC_Widget1" runat="server">
hello world
</uc1:UC_Widget>
但是,它出來一個問題:如果我想使用此控件包含另一個用戶控件, 如何爲這個做?許多thx!
<uc1:UC_Widget ID="UC_Widget1" runat="server">
hello world
<uc1:UC_Widget ID="UC_Widget2" runat="server">
guy
</uc1:UC_Widget>
</uc1:UC_Widget>
thx Nix,我已經通過AddParsedSubObject方法解決了這個問題。
protected override void AddParsedSubObject(object obj)
{
if (this.HasControls())
{
base.AddParsedSubObject(obj);
}
else if (obj is LiteralControl)
{
HtmlContent.Append(((LiteralControl)obj).Text);
this.Text = HtmlContent.ToString();
}
else
{
string text1 = this.Text;
UC_eClinicWidget tmp = obj as UC_eClinicWidget;
if (tmp != null)
{
HtmlContent.Append(GetControlHtml(tmp));
this.Text = HtmlContent.ToString();
}
}
}
你得到了什麼錯誤? – Nix 2010-09-02 12:27:06
Thx Nix,我得到這個錯誤,控件集合不能被修改,因爲控件包含代碼塊(即<% ... %>)。 而我執行AddParsedSubObject方法 – 2010-09-03 01:26:48