asp.net DropDownList - PullRequest
       13

asp.net DropDownList

1 голос
/ 18 августа 2011

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

<asp:DropDownList  ID="DropDownList1" runat="server"  AutoPostBack="True" 

    OnSelectedIndexChanged="SelectionHasChanged"
                DataSourceID="SqlDataSource1" DataTextField="Name" DataValueField="ID" 
                 Width="214px">
            /asp:DropDownList>

            asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                ConnectionString="<%$ ConnectionStrings:MyDBConnectionString1 %>" 
                SelectCommand="SELECT [ID], Name], [Name] FROM [Names]">
            /asp:SqlDataSource>

Есть две вещи, которые я пытаюсь получить в списке, когда выбор обновляется или удаляется: 1) Удалить удаленное содержимое из DropDownList 2) Первая запись в базе данных находится в поле при загрузке страницы, я хотел бы, чтобы она была пустой или говорила «Выбрать»

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

Я пытался добавить DropDownList1.DataBind(); в различных методах (page_load, update, delete) и DropDownList1.DataSource = SqlDataSource1; (но я получаю сообщение об удалении объекта (SqlDataSource1?)

Я добавил тег / элемент управления с именем EnableViewState="false", при обновлении элемента он обновляется при выборе другого элемента, но при удалении элемента мне необходимо обновить список сразу.

1 Ответ

1 голос
/ 18 августа 2011

1.Чтобы удалить элемент из раскрывающегося списка, необходимо выполнить цикл по раскрывающемуся списку ListItem, сравнить поле значения (DataValueField) элемента ListItem с измененным выборомили удалите, удалите его из выпадающего списка, если он совпадает.Например:

private void removeItem(string ID)
    {
        for (int i = 0; i < dropdownList.Items.Count; i++)
            if (dropdownList.Items[i].Value == ID)
            {
                dropdownList.Items.RemoveAt(i);
                break;
            }
    }

2. Просто после привязки вашего выпадающего списка, в коде позади, добавьте новый ListItem в Index 0, это решит вашу проблему с отображением «Выбрать» или Пустой как верхМаксимальный выбор:

dropdownList.DataBind();
dropdownList.Items.Insert(0, new ListItem("Select"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...