Я использую встроенные валидаторы ASP для нескольких элементов формы. Они работают нормально - если я нажимаю кнопку отправки (Кнопка), проверка происходит без обратной передачи, и ошибки отображаются в ValidationSummary. Когда это происходит, я также хочу вызвать метод в codebehind, который изменяет CSS элементов, переключая их цвет фона на красный, чтобы отражать ошибки. Я пытался вызвать этот метод, используя OnClick и OnClientClick в кнопке submit, но ни один из параметров, похоже, не запускает этот метод - проверка на стороне клиента всегда имеет приоритет, и обратная передача не происходит. Может ли кто-нибудь просветить меня?
РЕДАКТИРОВАТЬ # 1
Использование ссылки orandovs работало нормально для изменения самого элемента, но как насчет его родителя?
Например, в C # я делаю:
foreach (BaseValidator validator in Page.Validators)
{
Panel panel = validator.Parent as Panel;
if (!validator.IsValid)
panel.CssClass = "error";
else
panel.CssClass = "normal";
}
Есть ли способ получить родительский элемент управления (который все последовательно являются панелями, поэтому я знаю, что CssClass будет существовать), используя JavaScript? Что-то вроде:
$("#" + Page_Validators[i].controltovalidate.parent).CssClass("error");