Стиль по умолчанию для валидатора ASP.Net - PullRequest
13 голосов
/ 29 октября 2008

Я использую несколько вариантов элементов управления Validator (RequiredFieldValidator, CompareValidator и т. Д.) И использую свойство CssClass для валидатора. Я вижу (через Firebug), что класс применяется, но сам элемент управления validator добавляет к нему элемент стиля, а именно color: red. Но я этого не хочу. Я хочу, чтобы элемент управления использовал только класс cssclass.

Я знаю, что могу переопределить атрибут Forecolor, но мне придется делать это на каждом валидаторе в проекте. И я действительно хотел бы иметь возможность просто изменить мой класс CSS в моей таблице стилей на случай, если в будущем нам придется изменить все сообщения об ошибках.

У кого-нибудь есть какие-либо подсказки, как сказать элементам управления Validator НЕ использовать их стили по умолчанию?

Ответы [ 5 ]

13 голосов
/ 29 октября 2008

Вы можете сделать это в вашем файле CSS:

.validator
{
    color: blue !important;
}

Это заменит встроенный красный стиль.

9 голосов
/ 11 января 2013

Вы можете изменить стиль валидаторов по умолчанию, используя Темы.

  • Щелкните правой кнопкой мыши веб-сайт в Visual Studio
  • Выберите «Добавить папку ASP.NET»
  • Выберите «Темы», назовите новую папку «DefaultTheme»
  • Создайте файл с именем «Controls.skin» в папке DefaultTheme

Добавьте следующее в файл Controls.skin:

<asp:RequiredFieldValidator runat="server" CssClass="validation-error" />
<asp:RangeValidator runat="server" CssClass="validation-error" />
<asp:CompareValidator runat="server" CssClass="validation-error" />
<asp:RegularExpressionValidator runat="server" CssClass="validation-error" />
<asp:CustomValidator runat="server" CssClass="validation-error" />
<asp:ValidationSummary runat="server" CssClass="validation-error" />

Слейте следующее в ваш web.config:

<configuration>
    <system.web>
        <pages theme="DefaultTheme" />
    </system.web>
</configuration>

Затем вы можете установить любой цвет, который вы хотите для .validation-error в ваших файлах CSS.

(Обратите внимание, что версии ASP.Net до 4.0 раньше применяли style="Color:red" ко всем валидаторам по умолчанию, затрудняя переопределение их цветов в CSS. Если вы обнаружите, что это влияет на вас, то вы можете переопределить его, установив свойство ForeColor для каждого из элементов темы выше или добавьте !important к своему правилу CSS.)

См:

3 голосов
/ 29 октября 2008

Если вы используете темы, вы можете настроить файл скина для управления внешним видом вашего валидатора. Проблема с встроенным Forecolor заключается в том, что способ .Net отображает элементы управления по умолчанию, он вставляет атрибут color = "# ...", который переопределяет CSS на уровне элемента. Если вышеприведенное решение Keltex не поможет вам с директивой! Important, ваш следующий шаг, вероятно, заключается в использовании / adapt / help работы над проектом адаптеров управления, дружественных к CSS, по адресу http://www.asp.net/CSSAdapters/.

Бесстыдный плагин: Брайан ДеМарцо работает над расширением этого проекта в Google Code.

1 голос
/ 29 октября 2008

Вы смотрели на темы?

0 голосов
/ 16 июня 2016
Set Forecolor=""

А

CssClass="your-css-class"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...