Как мы ограничиваем длину элемента управления со списком в ASP.NET? - PullRequest
0 голосов
/ 13 сентября 2011

Как правило, я хочу, чтобы поле «Заголовок» (поле со списком) не позволяло мне вводить более 40 символов.

Можете ли вы предоставить какие-либо указатели?

1 Ответ

0 голосов
/ 13 сентября 2011

Мне кажется, что сам элемент управления не имеет такой функциональности, поэтому вам, вероятно, придется написать свою собственную версию.

Вы можете создать пользовательский элемент управления для расширения элемента управления ComboxBox. Проверьте этот блог .

Другая идея заключается в использовании jQuery для предотвращения добавления более 40 символов в элемент управления input, который генерирует элемент управления ComboBox:

$(function() {

    var comboxBoxControlInput = $("#<%=comboBoxControlId.ClientID%>$TextBox");
    $(comboxBoxControlInput).keyup(function() {
        limitLenth(this, 40);
    });

});

function limitLength(control, length) {
    var currentContent = $(control).val();
    var currentLength = currentContent.length;
    if(currentLength > length) {
        $(control).val(currentContent.substr(0, length));
        return false;
    }
}

К сожалению, это немного глупо. Вы должны получить ClientID элемента управления ComboBox (<%=comboBoxControlId.ClientID%>), а затем добавить $TextBox в конец, чтобы jQuery выбрал правильный элемент управления.

Edit: Другой способ выбрать правильный элемент управления вводом - сделать это:

$("#<%=comboBoxControlId.ClientId%>").find("input[type=text]");

Выбирает первый ввод текста в div, который создает элемент управления ComboBox.

...