id =“ end”のdivマスターページで.NET検証が中断される
-
05-07-2019 - |
質問
クイックインフォメーション:.NET 2.0の最新リリースを使用しています。以下は、エラーを再現するために作成したテストページの一部です。
ヘッダービットを除く(included / inline cssまたはjavascriptはありません)コンテンツページは次のようになります:
<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>
私のマスターページ(ヘッダービットを除く)は次のようになります。
<body>
<form runat="server" id="Form1">
<div>
<asp:ContentPlaceHolder ID="cphMain" runat="server">
</asp:ContentPlaceHolder>
</div>
<div id="end">
</div>
</form>
</body>
ボタンをクリックすると、ページは&quot; Microsoft JScriptランタイムエラーをスローします:オブジェクトはこのプロパティまたはメソッドをサポートしていません&quot;エラー、関数の WebResource.axd で ValidationSummaryOnSubmit(validationGroup)(512行目)。
ID =&quot; end&quot; でdivのidを&quot; end&quot;以外のものに変更すると、電源が切れます。問題が修正されます。
今、この問題を修正しましたが、そもそもなぜこれが壊れるのか興味がありますか?
検証サマリーが同じIDのdivをレンダリングし、どこかで混乱している可能性はありますか?
解決
確実に見つけるための1つの方法。
firebugをロードし、validationsummaryを呼び出してページを調べて、追加された新しい要素を確認します。
通常、IDが重複しても問題は発生しません。また、runatサーバーが設定されていないため、サーバー側のコントロールではありません。
非常に興味深い
所属していません StackOverflow