Je travaille sur une bibliothèque de contrôles Facebook FBML et voudrais créer mes contrôles FBML un peu comme la bibliothèque ASP.NET WebControls. J'ai une classe de base qui gère le rendu par défaut; voici ma méthode render:Render Auto-fermeture Tag dans le contrôle personnalisé ASP.NET dérivé de contrôle
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 est pour le rendu à 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 le « vrai » condition de travailler presque correctement, mais la balise de fermeture auto-semble être incompatible avec l'ensemble Render- de métho ds. Malheureusement, si tel est le cas, cela signifie également que le modèle 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 en sorte qu'il ne restitue pas cet espace intermédiaire (de sorte que les balises d'ouverture et de fermeture soient immédiatement à côté les unes des autres)?
Pourquoi? Ce n'est pas plus compact que mon exemple de code, et il ne répond pas vraiment à la question que j'ai posée, soit. – Rob