ASP .NET MVC Validationsummary с excludePropertyErrors = true отображается пустым, если модель недействительна

Допустим, у вас есть стандартный ValidationSummary:

<%: Html.ValidationSummary(excludePropertyErrors: true) %>

Если ModelState содержит ошибки модели для свойств, но не для самой модели, ValidationSummary отображает следующий HTML-код:

<div class="validation-summary-errors"><ul><li style="display:none"></li></ul></div>

который отображается как пустой список но все еще виден из-за красной рамки вокруг списка. Мне это кажется ошибкой. {Цвет transparentBlack = новый цвет (0, 0, 0, i); } У меня есть эффект объекта, использующего этот цвет для рисования с переходом от черного к ...

Если я использую следующий

for(int i = 255; i > 0; i--)
{
    Color transparentBlack = new Color(0, 0, 0, i);
}

, я получаю эффект объекта, использующего этот цвет для рисования с переходом от черного к светло-серый, а затем невидимый, когда значение альфа становится равным нулю. Однако, если я начну с белого значения:

new Color(255, 255, 255, i);

Объекты никогда не станут невидимыми, а останутся только белыми. Я также заметил, что если я использую значение, которое немного светлее черного (например, 50, 50, 50), рисунок переходит от темного к невидимому и белому.

Я предполагаю, что я просто не понимаю как работает альфа-смешивание, но есть ли способ заставить белый цвет исчезнуть до полупрозрачности?

Редактировать: Фон, на котором я рисую, это Color.CornflowerBlue (100,149,237,255)

Редактировать: Пример программы XNA, воспроизводящей объяснение. Использовать; создайте новую XNA Game Studio 4. alt text

Редактировать: Один из комментариев касается того, что это "особенность" окон, связанная только с текстом. Я использовал текст в качестве примера, чтобы демонстрационная программа была небольшой; тестирование с изображением дает тот же результат. alt text

Чтобы добавить квадрат в демонстрационную программу; создайте квадратное белое изображение PNG и добавьте его в каталог содержимого (используйте значения по умолчанию для конвейера содержимого). Затем добавьте это к классу:

Texture2D tWhiteBox;

Добавьте это в метод загрузки:

tWhiteBox = Content.Load<Texture2D>("whitebox");

Затем в отрисовке добавьте следующее ниже других операторов отрисовки:

v2.Y = v2.Y + 50;
spriteBatch.Draw(tWhiteBox, v2, WhiteTransparent);
7
задан Sebastian Gray 3 October 2010 в 19:32
поделиться