这可能是非常简单的事情。
我有一个绑定到对象数据源的下拉列表。我已将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>
我有一个添加了一个容纳的按钮 - 所以在那之后我需要更新下拉列表以包含新的住宿。所以我尝试在下拉列表中调用databind,并在数据源上调用databind - 没有任何东西使这个下拉列表更新。
例如。 PropertyAccommodations1.DataBind();
有人可以让我知道我做错了什么。最初我认为这是由于更新面板问题..但我删除了更新面板,它仍然无法工作(并检查主页面不包括更新面板)。
谢谢!
答案 0 :(得分:1)
您可以subrcibe到DDL OnDataBound并添加“选择”项
Accommodations1.Items.Add(new ListItem("Select",""));
答案 1 :(得分:1)
在按钮单击中,在DDL上调用.DataBind()之后,您可以执行
Accommodations1.Items.Add(new ListItem("Select"));
答案 2 :(得分:1)
感谢您快速回复 - 已实施
Accommodations1.Items.Insert(0,new ListItem("Select",""));
因为我特别希望它在顶部:)
我仍然认为在页面源中有这个默认项目会更简洁 - 但是AppendDataItems正在绊倒我。