2

我有一个从数据库和四个标签中检索 ID 的下拉菜单。从用户 id 开始,标签将显示属于该 ID 的数据。在我的情况下,ID 只有 1 个值,它使自动回发不刷新页面。有什么方法可以让标签显示数据?

  <asp:DropDownList ID="DropDownList5" runat="server" 
                DataSourceID="SqlDataSource3" DataTextField="Id" DataValueField="Id" 
                Height="16px" Width="145px" AutoPostBack="True" 
                onselectedindexchanged="DropDownList5_SelectedIndexChanged">
            </asp:DropDownList>
            <asp:SqlDataSource ID="SqlDataSource3" runat="server" 
                ConnectionString="<%$ ConnectionStrings:Connection %>" 
                SelectCommand="SELECT [Id] FROM [Rsvp] WHERE (([Model] = @Model) AND ([Username] = @Username))">
                <SelectParameters>
                    <asp:ControlParameter ControlID="DropDownList2" Name="Model" 
                        PropertyName="SelectedValue" Type="String" />
                    <asp:ControlParameter ControlID="DropDownList3" Name="Username" 
                        PropertyName="SelectedValue" Type="String" />
                </SelectParameters>
            </asp:SqlDataSource>
4

2 回答 2

2

在顶部的 0 处插入一个新项目:

DropDownList5.Items.Insert(0,new ListItem("Select an option","-"));
于 2012-09-14T08:32:29.660 回答
1

AppendDataBoundItems属性设置true为下拉列表,数据源中的项目将出现在您在标记中添加的任何 ListItems 之后,例如

<asp:DropDownList ID="DropDownList5" runat="server" 
            DataSourceID="SqlDataSource3" DataTextField="Id" DataValueField="Id" 
            Height="16px" Width="145px" AutoPostBack="True" OnSelectedIndexChanged="DropDownList5_SelectedIndexChanged" AppendDataBoundItems="true">
            <asp:ListItem Value="-" Text="Select an option" Selected="True"/>
</asp:DropDownList>
于 2012-09-14T08:41:12.373 回答