2010-06-03 89 views
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> 

我有一个按钮,增加了一个accommodaton - 所以出现这种情况后,我需要的下拉列表更新,包括新的住处。所以我试着在下拉列表中调用数据绑定,并在数据源上绑定数据绑定 - 并且没有任何内容会更新此下拉列表。

例如。 PropertyAccommodations1.DataBind();

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

谢谢!

+0

我删除了AppendDataItems true - 并在下拉列表中调用数据绑定,并按预期进行更新。 我如何拥有一个“选择”默认值的下拉列表 - 没有这些问题? – Jen 2010-06-03 04:11:26

回答

1

感谢您的快速反应 - 已经实现

Accommodations1.Items.Insert(0,new ListItem("Select","")); 

为我专门在顶部希望它:)

我仍然认为在页面的源代码中使用这个默认项目会更简单 - 但是AppendDataItems让我失望。

+0

需要插入而不是添加 – Colin 2011-09-12 11:16:08

+0

@alejandrobog:我不同意你的发言。 Jen特别添加了不同的代码行,并将其修改为正确的答案。 – fuzz 2011-09-13 04:03:05

1

可以subrcibe到DDL OnDataBound并添加 “选择” 项

Accommodations1.Items.Add(new ListItem("Select","")); 
+0

谢谢!我认为这将是我走的方式 - 但我希望在页面的源代码中有默认项目,然后只是附加项目 - 似乎是一个很好的方式:) – Jen 2010-06-03 05:04:49

+0

可能会有问题,如果你设置AppendDataBoundItems =“true”,例如,如果再次调用数据绑定你的项目将被复制。 – alejandrobog 2010-06-03 05:11:00

1

在点击按钮,你呼吁DDL .DataBind()后,你就可以做

Accommodations1.Items.Add(new ListItem("Select")); 
+0

我希望避免必须在代码中执行它 - 但是,谢谢:) 如果我必须在代码中执行它,我还需要在初始绑定后添加它 - 哪里是最好的地方。 即。当前在页面加载我设置了这个: AccommodationDs.SelectParameters [“propertyId”]。DefaultValue =((int)Master.PropertyId).ToString(); 这是下拉列表绑定到的数据源。当页面加载时,我没有专门在下拉列表中调用数据绑定 - 那么我会在哪里添加?还是应该在设置datasource的select参数后调用下拉列表数据绑定? – Jen 2010-06-03 05:02:44

相关问题