Question

Info rapide: J'utilise la dernière version de .NET 2.0. Voici une page de test que j'ai écrite pour reproduire l'erreur.

Excluant les bits d'en-tête (il n'y a pas de css ou javascript inclus / en ligne). Ma page de contenu ressemble à ceci:

<asp:Content ID="Content1" ContentPlaceHolderID="cphMain" runat="server">
<div>
    <asp:ValidationSummary ID="ValidationSummary1" runat="server" />
    <asp:TextBox ID="txtStuff" runat="server"></asp:TextBox>
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtStuff" Display="None" ErrorMessage="need to fill it with words">  </asp:RequiredFieldValidator>
    <asp:Button ID="bClick" runat="server" Text="Kerlick" />
</div>
</asp:Content>

Ma page maître (à l'exception des bits d'en-tête) ressemble à ceci:

<body>
<form runat="server" id="Form1">
                <div>
                    <asp:ContentPlaceHolder ID="cphMain" runat="server">
                    </asp:ContentPlaceHolder>
                </div>
                <div id="end">

                </div>
</form>
</body>

Lorsque vous cliquez sur le bouton, la page renvoie une "Erreur d’exécution Microsoft JScript: l’objet ne prend pas en charge cette propriété ou cette méthode " erreur, dans WebResource.axd dans la fonction ValidationSummaryOnSubmit (groupe de validation) (ligne 512).

Il s'avère que si je modifie l'ID de la division avec ID = "fin" par un autre choix que "fin". cela corrige le problème.

Maintenant, j'ai résolu ce problème, mais je suis intéressé par la raison pour laquelle cela se briserait en premier lieu?

Est-il possible que le résumé de la validation rende une div avec le même identifiant et soit confus quelque part?

Était-ce utile?

La solution

Un moyen de le savoir à coup sûr.

Chargez firebug, appelez le résumé de validation et explorez la page pour voir quels nouveaux éléments ont été ajoutés.

Normalement, un ID en double ne crée pas de problème. En outre, vous n'avez pas défini de serveur d'exécution, il ne s'agit donc pas d'un contrôle côté serveur.

Très intéressant

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top