Это - вероятно, что-то действительно глупо простое..
Мне связали выпадающий список с источником данных объектов. Я установил AppendDataBoundItems на истинный так, чтобы у меня мог быть начальный выбор.
<asp:DropDownList ID="Accommodations1" runat="server" AutoPostBack="true" DataTextField="AccommodationTypeDescription" DataValueField="Id" OnDataBound="Accommodations1_DataBound" onSelectedIndexChanged="Accommodations1_SelectedIndexChanged" Width="200px" DataSourceID="AccommodationDs" AppendDataBoundItems="true">
<asp:ListItem Text="Select" Value=""></asp:ListItem>
</asp:DropDownList>
<asp:ObjectDataSource ID="AccommodationDs" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="ListByPropertyId" TypeName="PropertyAccommodationController">
<SelectParameters>
<asp:Parameter Name="PropertyId" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
У меня есть кнопка, которая добавляет, что размещение - так после этого происходит, мне нужен выпадающий список для обновления для включения нового помещения. Таким образом, я попытался назвать привязку данных на dropdownlist и привязку данных на источнике данных - и ничто не делает это обновление выпадающего списка.
например, PropertyAccommodations1. DataBind ();
Мог кто-то сообщать мне то, что я делаю неправильно. Первоначально я думал, что это происходило из-за проблемы панели обновления.. но я удалил панель обновления, и она все еще не работает (и проверил, что основная страница не включает панель обновления).
Спасибо!!
Спасибо за быстрые ответы - реализовал
Accommodations1.Items.Insert(0,new ListItem("Select",""));
, так как я специально хотел, чтобы он был вверху :)
Я все же думаю, что было бы лучше иметь этот элемент по умолчанию в источнике страницу - но это AppendDataItems меня сбивает с толку.
Вы можете присоединиться к DDL OnDataBound и добавить элемент «Выбрать»
Accommodations1.Items.Add(new ListItem("Select",""));
При нажатии кнопки после вызова .DataBind () в DDL вы можете выполнить
Accommodations1.Items.Add(new ListItem("Select"));