Je travaille sur une bibliothèque contrôle FBML Facebook et souhaite créer mon FBML un peu modelée comme Contrôles de la bibliothèque WebControls ASP.NET. J'ai une classe de base qui gère le rendu par défaut; voici ma méthode render:
protected override void Render(HtmlTextWriter writer)
{
AddAttributesToRender(writer);
if (UseXfbmlSemantics)
{
writer.RenderBeginTag(ElementName);
writer.EndRender();
writer.RenderEndTag();
}
else
{
writer.RenderBeginTag(ElementName);
writer.RenderEndTag();
}
}
Ce que je voudrais pour le rendu est à modifier en fonction de UseXfbmlSemantics - s'il est vrai, il doit rendre, par exemple:
<fb:name uid=10300399458></fb:name>
Quand il est faux, il devrait rendre avec une étiquette de fermeture automatique:
<fb:name uid=10300399458 />
Je peux obtenir la « vraie » condition de travailler presque correctement, mais la balise de fermeture auto-semble être incompatible avec l'ensemble des méthodes Render-. Malheureusement, si tel est le cas, cela signifie aussi que le modèle de AddAttributesToRender ne fonctionnerait pas non plus. Ce qu'il est en fait la production est la suivante:
<fb:name uid=10300399458>
</fb:name>
Comment puis-je obtenir HtmlTextWriter (ou qui HtmlTextWriter dois-je utiliser) pour faire rendre une balise de fermeture auto-? Ou, à tout le moins, comment puis-je faire pas rendre cet espace intermédiaire (de sorte que les balises d'ouverture et de fermeture sont immédiatement à côté de l'autre)?













