Je travaille sur un menu de navigation.
J'ai créé ci-dessous ServerControl et cela fonctionne, mais je veux permettre aux utilisateurs d'ajouter des contrôles ASP.NET standard dans mes balises ServerControl comme label
, image
et ainsi de suite.Ajouter des contrôles enfants dans les balises 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>
Mon problème ici est que la façon dont je peux obtenir des contrôles de l'enfant au sein <MdsMenu:MenuItem>
et leur montrer comme comme ils sont dans la sortie.
P.S:
Je RenderContents
méthode écraser
protected override void RenderContents(HtmlTextWriter output)
{
output.Write(OutPutStringBuilder.ToString());
}
peut vous fournir peut-être un article à propos de pourquoi ajouter "[ParseChildren (false), PersistChildren (true)]" est la solution, cela semble être une solution obscure. – Letseatlunch
@Letseatlunch - voir la section des remarques de la documentation: http://msdn.microsoft.com/fr-fr/library/system.web.ui.persistchildrenattribute.aspx PersistChildrenAttribute est utilisé en combinaison avec ParseChildrenAttribute pour déterminer comment imbriqué le contenu d'un contrôle est interprété. Si PersistChildrenAttribute est true et ParseChildrenAttribute est false, le contenu imbriqué contenu dans un contrôle serveur ASP.NET est conservé en tant que contrôles. Si PersistChildrenAttribute est false et ParseChildrenAttribute est true, le contenu imbriqué est conservé en tant que propriétés du contrôle serveur. –
cette solution semble fonctionner, sauf si ne gère pas ce genre de choses <% = String.Format ("{0} .blah", "091")%> ou tout simplement texte – Letseatlunch