2010-04-27 6 views
0

J'ai une application WebForms qui utilise un validateur de champ dans une liste déroulante. Cela fonctionne dans IE mais pas FireFox.ASP.Net WebForms requiredfieldvalidator ne fonctionne pas dans FireFox?

C'est assez simple ce que je fais. Voici les configurations pour la liste déroulante et le validateur:

<asp:DropDownList ID ="dmbFileActNo" runat="server" CssClass="DROPDOWN_MEDIUM" AutoPostBack="True"></asp:DropDownList> 

<asp:requiredfieldvalidator EnableClientScript="true" id="rfvFileActNo" Display="None" ControlToValidate="dmbFileActNo" Runat="server" InitialValue="-1"></asp:requiredfieldvalidator> 

Je cours ASP.Net 2.0 sur le serveur Web. Javascript est activé sur le navigateur FireFox - ce problème se produit sur tous les navigateurs FF que j'ai testés, sur plusieurs machines de tous les jours, donc je ne crois pas que cela soit dû à une installation verrouillée.

Répondre

1

Parfois ASP.net envoie différents HTML/javascript à différents navigateurs. Vérifiez le fichier/les paramètres de votre navigateur

2

La validation côté client peut ne pas fonctionner dans tous les navigateurs et dans tous les scénarios. Il est important de s'assurer que vous faites toujours la validation sur le serveur aussi.

Vous pouvez également jeter un coup d'œil à la méthode que retourne la méthode DetermineRenderUpLevel() sur votre contrôle de validation dans FF. Dans les coulisses, il vérifie que les éléments suivants sont vrais:

  • Le navigateur client a le script client activé.
  • La propriété W3CDomVersion du HttpBrowserCapabilitiesBase objet qui est stocké dans la HttpRequest.Browser propriété est 1 ou plus tard.
  • La propriété EcmaScriptVersion du HttpBrowserCapabilitiesBase objet qui est stocké dans la propriété est HttpRequest.Browser 1.2 ou plus tard. J'ai obtenu ceci fonctionnant en modifiant le web.config.
2

Comme il se trouve, quelqu'un avait <xhtmlConformance mode="Legacy"/> là, ce qui est un paramètre plus ancien (la valeur par défaut est "transitionnel"). Merci pour l'aide de tout le monde.

1

J'ai fait face à ce problème et c'était un problème d'utilisation du caractère "." à l'intérieur de la propriété id des contrôles