В проекте, над которым я работаю, мне нужно отключить jquery ненавязчивую проверку на некоторых страницах и включить его на других. В текущем состоянии проекта проверка включена везде и должна быть отключена на некоторых страницах. Я знаю, если мне придется отключить его, когда я нахожусь в контроллере.
Я уже условно импортирую файлы javascript плагина, так что нет ненужной загрузки. Тем не менее, мои пользовательские HtmlHelpers, которые используют HtmlHelpers по умолчанию, по-прежнему генерируют атрибуты HTML, которые используются исключительно для ненавязчивой проверки jquery. Если я использую Html.EnableClientValidation(false);
или ViewContext.ClientValidationEnabled = false;
в указанном c частичном представлении, атрибуты не генерируются для этого конкретного c частичного представления - именно то, что я хочу. Но, поскольку представления компилируются в обратном порядке, от самого вложенного до основного представления, это означает, что мне нужно было бы установить использование Html.EnableClientValidation
или ViewContext.ClientValidationEnabled
в почти в каждом представлении , что не вариант. . Исправление: мне нужно попытаться использовать Html.EnableClientValidation()
в макете представления, которое называется последним (после представления и частичных). Если я размещу Html.EnableClientValidation()
в виде, а не в макете, он будет установлен правильно. Мне нужно, чтобы это было сделано до того, как я доберусь до представления, чтобы избежать написания этого в каждом представлении.
Итак, мой вопрос: как мне получить эффект видения ViewContext.ClientValidationEnabled
в каждом представлении? Могу ли я установить ViewContext.ClientValidationEnabled
до создания представления, чтобы оно отображалось на каждой странице? Из того, что я исследовал, возможно, мне понадобится бритвенный двигатель? Нет ли более простого решения, возможно, через какой-нибудь ActionFilter
или напрямую из контроллера?