Статические валидаторы, испускающие "nbsp;" - PullRequest
1 голос
/ 02 марта 2011

У меня есть вопрос .NET. Для моего конкретного приложения, которое относится к мобильным устройствам (в частности, к Blackberry на данный момент), я использую валидаторы (требуется точный полевой валидатор).

Проблема в том, что я отключил JavaScript из asp.net (указав ClientTarget = "ie4", но установка EnableClientScript = "False" в тегах валидатора имеет тот же эффект). Фактическая проблема заключается в том, что когда валидатор невидим, он выдает "nbsp;" вместо ничего, есть ли способ переопределить этот нежелательный результат?

Пожалуйста, не отвечайте на решения, которые включают css или javascript, так как я не могу использовать ни одну из них в моей конкретной ситуации.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 02 марта 2011

Дисплей = Статический означает, что испускается один неразрывный пробел ("").Это последнее поведение существует, так что ячейки таблицы, содержащие только валидаторы, не свернуты ни при каких условиях.

С здесь .

As Frédéric Hamidi сказал, что вместо этого вы можете попробовать Display=Dynamic, но если вы настаиваете на использовании Display=Static, я думаю, что ваш единственный вариант - расширить валидатор и переопределить метод Render.

protected override void Render(HtmlTextWriter writer)
{
   if (this.Display == ValidatorDisplay.Static && this.IsValid)
   {
       writer.Write(String.Empty);
   }
   else
   {
       base.Render(writer);
   }
}
1 голос
/ 02 марта 2011

Статические валидаторы действительно отображают сущность  , когда скрыты.

Попробуйте вместо этого использовать динамические валидаторы, установив для их свойства Показать значение ValidatorDisplay.Dynamic.

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