在SqlDataSource中注入记录

时间:2009-02-02 22:01:56

标签: asp.net sqldatasource

我想建议如何将记录注入DropdownList以提供“全部”选项。这是我的代码,来自Northwind数据库的数据。

<asp:DropDownList ID="ddlRegion" runat="server" DataSourceID="SqlDataSource1" 
    DataTextField="RegionDescription" DataValueField="RegionID" 
        AutoPostBack="True" onselectedindexchanged="ddlRegion_SelectedIndexChanged" />
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" 
    SelectCommand="SELECT [RegionID], [RegionDescription] FROM [Region]" 
        ondatabinding="SqlDataSource1_Databinding">
</asp:SqlDataSource>

我尝试了以下但是没有添加项目;

if(!Page.IsPostBack())
ddlRegion.Items.Insert(0, new ListItem("All", "-1"));

我在想也许使用ondatabinding可能是正确的方法,但我不知道如何去做。

由于

2 个答案:

答案 0 :(得分:2)

只需在ASPX中添加All项,然后设置AppendDataBoundItems = true,它将使用数据绑定项保留静态定义的项。

答案 1 :(得分:1)

Timbagas提出了一个很好的建议,另一个是使用存储过程并在那里进行追加,以便返回的记录集包含“全部”选项以及您想要的行。