Asp.net - Добавить пустой элемент в верхней части раскрывающегося списка

Почему выпадающий список не показывает мой пустой элемент? Вот что я

drpList.Items.Add(New ListItem("", ""))

With drpList
    .DataSource = myController.GetList(userid)
    .DataTextField = "Name"
    .DataValueField = "ID"
    .DataBind()
End With

Изменить ~ Я привязываюсь к списку Generig, может ли это быть виновником?

118
06 нояб. '08 в 2:00
источник поделиться
10 ответов

После вашей привязки данных:

drpList.Items.Insert(0, new ListItem(String.Empty, String.Empty));
drpList.SelectedIndex = 0;
241
06 нояб. '08 в 2:05
источник

Связанные вопросы


Похожие вопросы

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

EDIT:

После того, как в ASP.Net 2.0 появилось следующее сообщение об ошибке, вы получите истинное свойство "AppendDataBoundItems", которое вы можете установить... добавьте элементы данных.

Подробнее см.

http://imar.spaanjaars.com/QuickDocId.aspx?quickdoc=281 или

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listcontrol.appenddatabounditems.aspx

24
06 нояб. '08 в 2:02
источник

Вы можете использовать AppendDataBoundItems=true, чтобы легко добавить:

<asp:DropDownList ID="drpList" AppendDataBoundItems="true" runat="server"><br/>
    <asp:ListItem Text="" Value="" /><br/>
</asp:DropDownList>
21
28 нояб. '12 в 5:57
источник

Я думаю, что лучший способ - сначала вставить пустой элемент, а затем привязать данные так же, как вы делали. Однако вам нужно установить свойство AppendDataBoundItems элемента управления списком.

Мы используем следующий метод для привязки любого источника данных к любому элементу управления списками...

public static void BindList(ListControl list, IEnumerable datasource, string valueName, string textName)
{
    list.Items.Clear();
    list.Items.Add("", "");
    list.AppendDataBoundItems = true;
    list.DataValueField = valueName;
    list.DataTextField = textName;
    list.DataSource = datasource;
    list.DataBind();
}
12
18 марта '09 в 20:36
источник

Как "Whisk" Сказал, трюк находится в свойстве "AppendDataBoundItems"

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        DropDownList1.AppendDataBoundItems = true;
        DropDownList1.Items.Insert(0, new ListItem(String.Empty, String.Empty));
        DropDownList1.SelectedIndex = 0;
    }
}

Спасибо "Whisk"

6
30 окт. '10 в 23:14
источник

Сделайте свою привязку данных, а затем добавьте следующее:

Dim liFirst As New ListItem("", "")
drpList.Items.Insert(0, liFirst)
5
06 нояб. '08 в 2:04
источник

простой

наконец

ddlProducer.Items.Insert(0, "");
3
08 мая '12 в 15:50
источник

похоже, что вы добавляете пустой элемент, а затем привязываете данные, которые опустошают список; попробуйте вставить пустой элемент после привязки данных

3
06 нояб. '08 в 2:01
источник

ddlCategory.DataSource = ds;
ddlCategory.DataTextField = "CatName";
ddlCategory.DataValueField = "CatID";

Cách 1:

ddlCategory.Items.Add(new ListItem("--please select--", "-1"));
ddlCategory.AppendDataBoundItems = true;
ddlCategory.SelectedIndex = -1;

ddlCategory.DataBind();

Cách 2:

ddlCategory.Items.Insert(0, new ListItem("-- please select --", "0"));

(проверено ОК)

1
24 апр. '13 в 11:10
источник

У вас также может быть объединение пустого выбора с выделенным, имеющим контент:

select '' value, '' name
union
select value, name from mytable
0
03 марта '15 в 0:53
источник

Посмотрите другие вопросы по меткам или Задайте вопрос