J'utilise plusieurs variantes des contrôles Validator (RequiredFieldValidator, CompareValidator, etc.) et j'utilise la propriété CssClass du validateur. Je peux voir (via Firebug) que la classe est appliquée, mais le contrôle du validateur lui-même y ajoute un élément de style, à savoir color: red. Mais je ne veux pas ça. Je veux que le contrôle utilise uniquement la classe CSS. Je sais que je peux remplacer l'attribut Forecolor, mais je devrai le faire sur chaque validateur dans le projet. Et j'aimerais vraiment pouvoir changer ma classe CSS dans ma feuille de style au cas où nous devions changer toutes les apparences de message d'erreur dans le futur. Tout le monde a des indices sur la façon de dire aux contrôles du validateur de ne pas utiliser leurs styles par défaut?Style de validateur ASP.Net par défaut
Répondre
Vous pouvez le faire dans votre fichier css:
.validator
{
color: blue !important;
}
Cela remplacera le style rouge en ligne.
Avez-vous regardé des thèmes?
Non. Savez-vous que cela fonctionnera, ou pensez-vous que ce pourrait être un bon point de départ? –
Je pense que ce pourrait être un endroit pour commencer. Mais la réponse de Keltex semble plus simple. –
Merci Ken. La solution de Keltex semble fonctionner (au moins sur FF3 et IE6 dans WinXP). –
Si vous utilisez des thèmes, vous pouvez configurer votre fichier skin pour contrôler l'apparence de votre validateur. Le problème avec Forecolor inline est que la façon dont .Net rend les contrôles par défaut, il insère un attribut color = "# ..." qui remplace CSS au niveau de l'élément. Si la solution de Keltex ci-dessus ne vous convient pas avec la directive! Important, votre prochaine étape est probablement d'utiliser/adapter/aider à travailler sur le projet CSS-Friendly Control Adapters au http://www.asp.net/CSSAdapters/.
Prise sans vergogne: Brian DeMarzo travaille à étendre ce projet à Google Code.
Bon conseil, mais mauvais lien (pour autant que je pourrait dire). Vouliez-vous dire: http://www.codeplex.com/cssfriendly? – CMPalmer
Merci. Edité, comme je le montrais à la version originale après Microsoft open-sourced (!), Mais le vôtre est bon, aussi. –
L'utilisation de thèmes fonctionnera; Je l'ai fait plusieurs fois pour remplacer les paramètres par défaut de .NET. (Le rouge est souvent la bonne réponse, mais pas toujours!) –
Vous pouvez modifier le style par défaut des validateurs à l'aide de thèmes.
- Faites un clic droit sur le site dans Visual Studio
- Choisissez "Ajouter le dossier ASP.NET"
- Choisissez "Thèmes", nommez le nouveau dossier "DefaultTheme"
- Création d'un fichier appelé « Controls. peau » dans le dossier DefaultTheme
Ajoutez ce qui suit au fichier Controls.skin:
<asp:RequiredFieldValidator runat="server" CssClass="validation-error" />
<asp:RangeValidator runat="server" CssClass="validation-error" />
<asp:CompareValidator runat="server" CssClass="validation-error" />
<asp:RegularExpressionValidator runat="server" CssClass="validation-error" />
<asp:CustomValidator runat="server" CssClass="validation-error" />
<asp:ValidationSummary runat="server" CssClass="validation-error" />
Fusionner les éléments suivants dans votre web.config
:
<configuration>
<system.web>
<pages theme="DefaultTheme" />
</system.web>
</configuration>
vous pouvez définir la couleur que vous voulez pour .validation-error
dans vos fichiers CSS.
(Notez que les versions d'ASP.Net antérieures à la version 4.0 appliquaient style="Color:red"
à tous les valideurs par défaut, ce qui rendait difficile le remplacement de leurs couleurs en CSS. ForeColor
propriété sur chacun des éléments de thème ci-dessus, ou ajouter !important
à votre règle CSS.)
Voir:
Ceci est la meilleure réponse de loin! –
Set Forecolor=""
Et
CssClass="your-css-class"
- 1. Style ContextMenu par défaut - WPF
- 2. Rétablissement d'un style de style CSS par défaut
- 3. Empêcher asp: ImageButton Style inline par défaut
- 4. Appliquer le style WPF par défaut
- 5. Modifier le style de devis par défaut pour htmlentities
- 6. ASP.NET MVC par défaut Paramètres
- 7. éléments de formulaire de style dans Zend Framework avec un style par défaut
- 8. asp.net identifiants de compte par défaut
- 9. Durée par défaut de Cache.Insert dans ASP.NET
- 10. Flex AdvancedDataGrid: MXML ItemRenderers n'affiche pas le style par défaut
- 11. Conventions par défaut de NHibernate par défaut
- 12. ASP.net: Modification des propriétés de WebControl par défaut
- 13. Existe-t-il un moyen de fournir un MessageTemplateResourceType par défaut à un Validateur?
- 14. ASP.NET MVC - ASPX avec constructeur par défaut
- 15. La session ASP.net est partagée par défaut?
- 16. Acheminement d'URL ASP.NET, chemin par défaut
- 17. Vue par défaut de l'élément de liste par défaut Sharepoint
- 18. Utilisation de liaisons de modèle ASP.NET par défaut avec DateTime
- 19. JQuery plug-in asp.net callout validateur UpdatePanel
- 20. Styles par défaut SharePoint
- 21. Police Web par défaut
- 22. Modifier le classeur de modèle par défaut dans asp.net MVC
- 23. ASP.NET MVC - mélange personnalisé et modèle par défaut de liaison
- 24. build Erreur de site Web ASP.Net par défaut
- 25. Annulation du bouton de soumission par défaut dans ASP.NET
- 26. Fonctions par défaut de la fonction de style jQuery utilisant des objets
- 27. ASP.NET: Définition du style d'un élément HTML par programme
- 28. Y at-il un moyen de désactiver/remplacer le style par défaut pour les WebControls désactivés
- 29. WPF Button IsEnabled Basé sur le style par défaut de ComboBox Selection Overwriting
- 30. Nombre de mots ASP.Net avec un validateur personnalisé
Excellent. Cela a fonctionné dans IE6 et FF3. Je ne peux pas tester les autres directement, mais cela me permettra de faire des tests. Je n'ai jamais pensé faire la chose importante. Pour quiconque s'en soucie, la classe .validator à laquelle il fait référence ci-dessus peut être n'importe quoi - la mienne est appelée .error_text –
Ceci est un bel exemple de succion ASP.NET. Recours à l'utilisation de '! Important 'juste parce que ASP.NET pousse' style = "color: Red" 'sur vous. –
FYI. Depuis ASP.NET 4.0: * La classe BaseValidator et les contrôles de validation qui en découlent ne rendent plus le texte rouge par défaut. * (À condition que controlRenderingCompatibilityVersion ne soit pas réglé sur "3.5") –