Как установить пользовательский текст в DropdownList в ASP.Net

StackOverflow https://stackoverflow.com/questions/403419

  •  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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top