Je suis en train d'écrire des contrôles de serveur web pour faciliter le travail avec des contrôles et widgets de base de jQuery UI. Tout ce que je dois faire à ce stade est d'ajouter quelques classes CSS supplémentaires dans les liens hypertexte.
Le code ci-dessous est mon contrôle de serveur web.
using System;
using System.ComponentModel;
using System.Security.Permissions;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Fusion.UI.Controls
{
[
ToolboxData("<{0}:Hyperlink runat=\"server\">")
]
public class Hyperlink : System.Web.UI.WebControls.HyperLink
{
protected override void AddAttributesToRender(HtmlTextWriter writer)
{
writer.AddAttribute(HtmlTextWriterAttribute.Class, "fg-button ui-state-default ui-corner-all");
// Call underlying renderer
base.AddAttributesToRender(writer);
}
}
}
Cela fonctionne bien et génère un lien hypertexte avec les classes CSS supplémentaires. Cependant, si je spécifie également le CssClass
, cela finit par créer un double attribut de classe:
Lien
Qui génère le code HTML suivant :
Lien
Aide ! Comment puis-je empêcher que cela se produise ?