Текстовое поле Asp.net с атрибутом Multiline true не поддерживает максимальное значение длины, почему? - PullRequest
0 голосов
/ 17 января 2010

Странно, что текстовое поле Asp.net с многострочным атрибутом не поддерживает свойство max lenth. нам нужно управлять этим, написав собственный код java-скрипта.

Ответы [ 2 ]

1 голос
/ 17 января 2010

, поскольку многострочный текстовый режим отображается как текстовая область, а текстовая область не содержит свойства maxlength.

да, применить javascript и, конечно, добавить также некоторую проверку на стороне сервера для длины (если клиент отключает javascript)

0 голосов
/ 17 января 2010

TextBox при многострочном отображении TextArea, которое не содержит свойства MaxLength.

Элемент управления TextBox должен действовать иначе, чем при выводе свойства MaxLength, в зависимости от свойства TextMode. Если это однострочный, то отрисовывайте MaxLength, если нет - рендеринг JavaScript. Я считаю это плохим поведением или, возможно, ошибкой.

В этих случаях, когда вам интересно, вы всегда можете взглянуть на код Microsoft с помощью Reflector .

Вот фрагмент кода для рендеринга свойства MaxLength в методе AddAttributesToRender:

int maxLength = this.MaxLength;
    if (maxLength > 0)
    {
        writer.AddAttribute(HtmlTextWriterAttribute.Maxlength, maxLength.ToString(NumberFormatInfo.InvariantInfo));
    }
    maxLength = this.Columns;
    if (maxLength > 0)
    {
        writer.AddAttribute(HtmlTextWriterAttribute.Size, maxLength.ToString(NumberFormatInfo.InvariantInfo));
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...