Ответ 1
Вы можете сделать это в своем файле css:
.validator
{
color: blue !important;
}
Это приведет к переопределению встроенного красного стиля.
Я использую несколько вариантов элементов управления Validator (RequiredFieldValidator, CompareValidator и т.д.), и я использую свойство CssClass для проверки. Я вижу (через Firebug), что класс применяется, но сам элемент validator добавляет к нему элемент стиля, а именно color: red. Но я не хочу этого. Я хочу, чтобы элемент управления использовал только cssclass.
Я знаю, что могу переопределить атрибут Forecolor, но мне нужно будет сделать это на каждом валидаторе в проекте. И я действительно хотел бы иметь возможность просто изменить свой CSS-класс в моей таблице стилей, если мы в будущем должны изменить все сообщения об ошибках.
У кого-нибудь есть подсказки, как сообщить элементам Validator, чтобы НЕ использовать их стили по умолчанию?
Вы можете сделать это в своем файле css:
.validator
{
color: blue !important;
}
Это приведет к переопределению встроенного красного стиля.
Вы можете изменить стиль валидаторов по умолчанию с помощью Темы.
Добавьте в файл 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.)
См:
Если вы используете темы, вы можете настроить свой файл скина, чтобы контролировать внешний вид своего валидатора. Проблема с встроенной версией Forecolor заключается в том, что путь .Net отображает элементы управления по умолчанию, он вставляет атрибут color = "#...", который переопределяет CSS на уровне элемента. Если решение Keltex выше не получает его для вас с важной директивой, следующим шагом, вероятно, является использование/адаптация/помощь в проекте CSS-Friendly Control Adapters в http://www.asp.net/CSSAdapters/.
Бесстыдный плагин: Брайан ДеМарзо работает над расширением этого проекта в Google Code.
Вы просматривали темы?
Set Forecolor=""
И
CssClass="your-css-class"