Как установить пользовательский текст в DropdownList в ASP.Net
-
03-07-2019 - |
Вопрос
У меня есть элемент управления раскрывающимся списком в одном из моих приложений, и когда я добавляю в него элементы из базы данных, по умолчанию он отображает первый элемент в раскрывающемся списке, но я хочу отобразить в нем какой-то другой текст, например «Выбрать элемент из списка». Есть ли способ Я могу сделать это .
Также не могли бы вы помочь мне установить то же значение из javascript?
Решение
Что касается ASP.NET, вы можете создать DropDownList с AppendDataBoundItems="true", и любые элементы, которые вы к нему привязываете, будут идти после значения по умолчанию:
<asp:DropDownList AppendDataBoundItems="true" ID="yourListId" runat="server">
<asp:ListItem Text="Select something" Value="-1" />
</asp:DropDownList>
Что касается выполнения того же самого в Javascript, вы можете сделать это с помощью такой функции:
function addFirstItem(list, text, value)
{
var newOption = document.createElement("option");
newOption.text = text;
newOption.value = value;
list.options.add(newOption);
}
addFirstItem(document.getElementById("yourListId"), "Select something", "-1");
Или с помощью jQuery (вероятно, есть что-то более чистое, особенно для создания нового тега параметра, но это работает):
$("#yourListId option:first").before("<option value='-1'>Select something</option>");
Другие советы
Ответ Патриджа правильный, однако, если вы используете метод asp и по-прежнему сталкиваетесь с проблемой, добавьте тег items в элемент списка.
<asp:DropDownList AppendDataBoundItems="true" ID="yourListId" runat="server">
<items>
<asp:ListItem Text="Select something" Value="-1">--Select Something--</asp:ListItem>
</items>
</asp:DropDownList>