2 Stimmen

Wie kann man alle ASP.Net-Validatoren verbergen?

Ich möchte alle Validatoren in einer ASP.Net 3.5-Website einen CssClass-Wert von "Fehler" haben. Mein anfänglicher Gedanke war, dies in einem Theme-Skin wie so zu tun:

<asp:CompareValidator runat="server" 
    CssClass="error" />
<asp:CustomValidator runat="server" 
    CssClass="error" />
<asp:RequiredFieldValidator runat="server" 
    CssClass="error" />
<belCommon:ZipCodeValidator runat="server" 
    CssClass="error" />
<belCommon:PhoneNumberValidator runat="server" 
    CssClass="error" />

Dies ist nur eine unvollständige Auflistung der von mir verwendeten Validierer. Im Idealfall würde ich gerne so etwas wie dies tun:

<asp:BaseValidator runat="server" 
    CssClass="error" />

Und da alle Validatoren von BaseValidator erben, würde ich erwarten, dass dies funktioniert, aber das tut es nicht. Gibt es eine Möglichkeit, dies zu erreichen, ohne jedes einzelne Validator-Steuerelement explizit zum Skin hinzuzufügen?

Aktualisierung:

Ich habe einen anderen Ansatz mit Javascript gefunden:

Sys.Application.add_init(function(sender, args)
{
    if (Page_Validators != null)
    {
        for (i = 0; i < Page_Validators.length; i++)
        {
            Page_Validators[i].className = "error";
        }
    }
});

ASP.Net erzeugt eine Javascript-Variable namens Page_Validators, bei der es sich um ein Array der Validierungsspannen handelt. Dieses Skript prüft, ob es vorhanden ist, durchläuft dann eine Schleife und setzt den Klassennamen. Ich habe dies in die Masterseite eingefügt und es funktioniert bisher.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X