绑定到对象数据源的下拉列表 - 如何在按钮单击时更新

Jen*_*Jen 5 c# asp.net-3.5

这可能是非常简单的事情.

我有一个绑定到对象数据源的下拉列表.我已将AppendDataBoundItems设置为true,以便我可以进行初始选择.

<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>
Run Code Online (Sandbox Code Playgroud)

我有一个按钮,增加了一个容纳 - 所以在那之后我需要下拉列表更新以包括新的住宿.所以我尝试在下拉列表中调用databind,并在数据源上调用databind - 并且没有任何东西使这个下拉列表更新.

例如.PropertyAccommodations1.DataBind();

有人可以让我知道我做错了什么.最初我认为这是由于更新面板问题..但我已经删除了更新面板,它仍然无法工作(并检查主页面不包括更新面板).

谢谢!!

Jen*_*Jen 1

感谢您的快速回复 - 已实施

Accommodations1.Items.Insert(0,new ListItem("Select","")); 
Run Code Online (Sandbox Code Playgroud)

因为我特别希望它位于顶部:)

我仍然认为在页面源中包含此默认项目会更整洁 - 但 AppendDataItems 让我绊倒。