マークアップを貼り付けたいのですが、複雑すぎて、クライアントの会社名への参照が多数含まれています。豊富な経験を持つ誰かが私を正しい方向に向けることができることを願っています.
検証グループの一部ではない ValidationSummary を含むマスター ページがあります。コンテンツ ページには、ValReject という検証グループに割り当てられた別の ValidationSummary があります。コンテンツ ページには、ClientValidationFunction とボタンを使用する CustomValidator もあり、どちらも ValReject に割り当てられています。
ボタンをクリックすると、クライアント関数が 1 回実行されますが、コンテンツ ページの検証サマリーとマスター ページの検証サマリーの両方にエラーが報告されます。3 つ目の検証サマリーを追加して、そのグループを「asdf」などに設定しましたが、同様に報告されます。つまり、3 つの検証サマリーすべてがページに同じエラーを表示しています。
次に、別の ASP.NET テスト プロジェクトを作成し、すべてのコードを貼り付けて実行したところ、正常に検証されました。
次に、コンテンツ ページで AutoEventWireup をいじってみました。false に設定すると、検証は機能しますが、ページ読み込みイベントは発生しません。どうしたの?
コード サンプルが必要な場合があることは承知していますが、前述のように、大きな頭痛の種を経験せずにそれを行うことはできません (信じてください、マスター ページとコンテンツ ページのマークアップは膨大です。
ここでの質問は次のとおりです: 1 つのバリデータが、ページ上のすべてのバリデーション サマリーにレポートする原因について、そのうちの 1 つだけがバリデータおよびボタンと同じバリデーション グループを共有しているにもかかわらず、何が原因か考えている人はいますか?
編集: マークアップをテスト アプリに貼り付けたとき、テスト アプリには実際のマスター ページで使用される一部のアセンブリへの参照がないため、機能させるためにいくつかのタグを削除する必要がありました。私が削除したいくつかのものは次のとおりです。
<%@ Register Assembly="RadMenu.Net2" Namespace="Telerik.WebControls" TagPrefix="radM" %>
<radM:RadMenu ID="RadMenu1" runat="server" DataSourceID="smdsMenu" Skin="CssGrey" ClickToOpen="True" EnableViewState="False" CausesValidation="false" />
したがって、テスト アプリで動作するという事実は、テスト アプリで行っていないことを本番アプリで行っているという結論につながります。はい、これが漠然としていることは承知していますが、誰かの頭の中で電球が消える可能性があります。