J'ai écrit un contrôle serveur qui étend le contrôle .net Gridview standard.Extension du contrôle .net: Comment empêcher l'affichage d'un attribut HTML?
Cependant, par défaut, le contrôle standard gridview ajoute une border = « 0 » attribut à la balise html qu'il produit, et je veux éviter que cet attribut soit rendu par mon contrôle serveur.
Je pourrais probablement utiliser ScriptManager pour ajouter un peu de Javascript qui supprime l'attribut une fois que la page sur laquelle le contrôle a été chargé, mais cela semble un peu maladroit et j'espérais que quelqu'un pourrait me dire comment le faire proprement en ajoutant, par exemple, this.Attributes.Remove ("border"); à l'événement PreRender du contrôle ou quelque chose de similaire (qui n'a pas fonctionné d'ailleurs, ou je n'aurais pas à poser la question)
Jetez un coup d'œil aux adaptateurs de contrôle. – Dai
J'ai jeté un coup d'oeil sur les adaptateurs 'Css Friendly' à http://www.asp.net/cssadapters/ - mais cet adaptateur, et je suppose que d'autres aussi, remplacer la méthode RenderControl et implémenter leur propre code pour le rendu d'un gridview. Il semble énorme exagérer juste pour empêcher un attribut d'être rendu. – paulH