Я хотел бы вставить свою разметку, но она слишком сложная и содержит много ссылок на название компании клиента. Я надеюсь, что кто-то с большим опытом сможет указать мне правильное направление.
У нас есть главная страница с ValidationSummary, которая не является частью группы проверки. На нашей странице содержимого у нас есть еще один ValidationSummary, назначенный группе проверки под названием ValReject. На странице содержимого также находится CustomValidator, который использует ClientValidationFunction и кнопку, обе из которых также назначены ValReject.
Когда я нажимаю кнопку, клиентская функция выполняется один раз, но сообщение об ошибке передается в обе сводки проверки: на страницу содержимого и на главную страницу. Я даже добавил третью сводку проверки и установил для ее группы что-то вроде «asdf», но о ней также сообщается, что означает, что все три сводки проверки показывают одну и ту же ошибку на странице.
Затем я создал отдельный тестовый проект ASP.NET, вставил в него весь код и запустил его, и он прошел проверку, как и должно быть.
Затем я поэкспериментировал с AutoEventWireup на странице содержимого. Когда я устанавливаю для него значение false, проверка работает, но событие загрузки страницы не срабатывает. Что случилось с этим?
Я знаю, что вам, вероятно, нужны образцы кода, но, как я уже сказал, я просто не могу сделать это без огромной головной боли (поверьте мне, разметка главной страницы и страницы содержимого огромна.
Вопрос здесь: кто-нибудь знает, что может заставить один валидатор сообщать обо ВСЕХ сводках проверки на странице, даже если только один из них имеет ту же группу проверки, что и валидатор и кнопка?
редактировать: когда я вставил разметку в свое тестовое приложение, мне пришлось удалить некоторые теги, чтобы заставить его работать, поскольку тестовое приложение не имеет ссылок на некоторые сборки, используемые настоящей главной страницей. Некоторые вещи, которые я удалил:
<%@ 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" />
Таким образом, тот факт, что это работает в моем тестовом приложении, приводит меня к выводу, что мы делаем что-то в нашем рабочем приложении, чего я не делаю в своем тестовом приложении. Да, я знаю, что это расплывчато, но, возможно, в чьей-то голове взорвется лампочка.