我正在導航菜單上工作。
我已經創建了ServerControl下面,它的工作原理,但我想讓用戶在我的ServerControl標籤內添加一些標準的ASP.NET控件,如label
,image
等等。在ServerControl標籤中添加子控件?
<MdsMenu:ServerControlMenu ID="ServerControlMenu1" runat="server">
<MdsMenu:animation AnimationSpeed="Normal" AnimationType="Opacity_Height" Delay="1000" DropShadow="true" />
<!-- HERE HAS TO HAVE SOME STANDARD ASP.NET CONTROLS -->
<!-- e.g <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> -->
</MdsMenu:MenuItem>
</MdsMenu:ServerControlMenu>
我的問題是在這裏,我怎麼可以在<MdsMenu:MenuItem>
得到子控件和顯示他們喜歡,因爲他們是在輸出中。
P.S:
我覆蓋RenderContents
方法
protected override void RenderContents(HtmlTextWriter output)
{
output.Write(OutPutStringBuilder.ToString());
}
可以爲您提供可能的一篇文章關於爲什麼添加「[ParseChildren(false),PersistChildren(true)]」是解決方案,它似乎是一個晦澀的解決方案。 – Letseatlunch 2010-11-16 02:11:26
@Letseatlunch - 請參閱文檔的註釋部分:http://msdn.microsoft.com/en-us/library/system.web.ui.persistchildrenattribute.aspx PersistChildrenAttribute與ParseChildrenAttribute結合使用來確定嵌套控件的內容被解釋。如果PersistChildrenAttribute爲true並且ParseChildrenAttribute爲false,則包含在ASP.NET服務器控件中的嵌套內容將作爲控件持久化。如果PersistChildrenAttribute爲false且ParseChildrenAttribute爲true,則嵌套的內容將作爲服務器控件的屬性持久化。 – 2010-11-16 11:37:05
這個解決方案似乎可以工作,除非不處理這些東西<%= String.Format(「{0} .blah」,「091」)%>或者純文本 – Letseatlunch 2010-11-17 00:45:45