Asp.net 我的dropdownlist没有显示我的硬编码列表项

Asp.net 我的dropdownlist没有显示我的硬编码列表项,asp.net,drop-down-menu,controlparameter,Asp.net,Drop Down Menu,Controlparameter,我有四个dropdownlists,都依赖于它前面的一个,使用ControlParameters和AutoPostBack=“true”,它们都工作得很好——除了最后一个。出于某种原因,forth没有显示我的硬编码--All--“项,我需要它,这样用户就可以选择查看所有项,或者根据所选值限制项。任何建议都将不胜感激 1(总是显示所有不同的值,加上“-all--”选项): <!-- Division (gt_division) --> <asp:DropDownList ru

我有四个dropdownlists,都依赖于它前面的一个,使用ControlParameters和AutoPostBack=“true”,它们都工作得很好——除了最后一个。出于某种原因,forth没有显示我的硬编码--All--“项,我需要它,这样用户就可以选择查看所有项,或者根据所选值限制项。任何建议都将不胜感激

1(总是显示所有不同的值,加上“-all--”选项):

 <!-- Division (gt_division) -->
 <asp:DropDownList runat="server" ID="DDLDivision" DataSourceID="DSDivision" DataValueField="gt_division" DataTextField="gt_division" AppendDataBoundItems="true" AutoPostBack="true">
                 <asp:ListItem Text="--All--" Value="" />
            </asp:DropDownList>
            <asp:SqlDataSource ID="DSDivision" ConnectionString="<%$ ConnectionStrings:CDRConnectionString %>" runat="server" SelectCommand="select distinct gt_division from chg_dtl">
            </asp:SqlDataSource>
 <!-- Physician (BILLING_NAME) -->
 <asp:DropDownList runat="server" ID="DDLPhysician" DataSourceID="DSPhysician" DataValueField="billing_prov_name" DataTextField="billing_name" AppendDataBoundItem="true" AutoPostBack="true">
                <asp:ListItem Text="All" Value="" />
            </asp:DropDownList>
            <asp:SqlDataSource ID="DSPhysician" ConnectionString="<%$ ConnectionStrings:CDRConnectionString %>" runat="server"
                SelectCommand="SELECT distinct billing_name 
                               FROM chg_dtl 
                               WHERE gt_division = @gt_division AND bill_area = @bill_area AND pos_name = @pos_name"
                >
                <SelectParameters>
                    <asp:ControlParameter Name="gt_division" ControlID="DDLDivision" PropertyName="SelectedValue" />
                    <asp:ControlParameter Name="bill_area" ControlID="DDLProgram" PropertyName="SelectedValue" />
                    <asp:ControlParameter Name="pos_name" ControlID="DDLLocation" PropertyName="SelectedValue" />
                </SelectParameters>
            </asp:SqlDataSource>

2(工作正常,下拉列表显示“--All--”,加上基于第一个下拉列表中的选择的不同值(controlparameter gt_部分):

 <!-- Program (bill_area) -->
 <asp:DropDownList runat="server" ID="DDLProgram" DataSourceID="DSProgram" DataValueField="bill_area" DataTextField="bill_area" AppendDataBoundItems="true" AutoPostBack="true">
                <asp:ListItem Text="--All--" Value="" />
            </asp:DropDownList>
            <asp:SqlDataSource ID="DSProgram" ConnectionString="<%$ ConnectionStrings:CDRConnectionString %>" runat="server" SelectCommand="SELECT distinct bill_area FROM chg_dtl WHERE gt_division = @gt_division">
                <SelectParameters>
                    <asp:ControlParameter Name="gt_division" ControlID="DDLDivision" PropertyName="SelectedValue"/>
                </SelectParameters>
            </asp:SqlDataSource>
<!-- Location (pos_name) -->
<asp:DropDownList runat="server" ID="DDLLocation" DataSourceID="DSLocation" DataValueField="pos_name" DataTextField="pos_name" AppendDataBoundItems="true" AutoPostBack="true">
                <asp:ListItem Text="--All--" Value="" />
            </asp:DropDownList>
            <asp:SqlDataSource ID="DSLocation" ConnectionString="<%$ ConnectionStrings:CDRConnectionString %>" runat="server" SelectCommand="SELECT distinct pos_name FROM chg_dtl WHERE gt_division = @gt_division and bill_area = @bill_area"
                >
                <SelectParameters>
                    <asp:ControlParameter Name="gt_division" ControlID="DDLDivision" PropertyName="SelectedValue" />
                    <asp:ControlParameter Name="bill_area" ControlID="DDLProgram" PropertyName="SelectedValue" />
                </SelectParameters>
            </asp:SqlDataSource>

3(也可以正常工作,显示“--All--”加上基于前两个下拉列表的值):

 <!-- Program (bill_area) -->
 <asp:DropDownList runat="server" ID="DDLProgram" DataSourceID="DSProgram" DataValueField="bill_area" DataTextField="bill_area" AppendDataBoundItems="true" AutoPostBack="true">
                <asp:ListItem Text="--All--" Value="" />
            </asp:DropDownList>
            <asp:SqlDataSource ID="DSProgram" ConnectionString="<%$ ConnectionStrings:CDRConnectionString %>" runat="server" SelectCommand="SELECT distinct bill_area FROM chg_dtl WHERE gt_division = @gt_division">
                <SelectParameters>
                    <asp:ControlParameter Name="gt_division" ControlID="DDLDivision" PropertyName="SelectedValue"/>
                </SelectParameters>
            </asp:SqlDataSource>
<!-- Location (pos_name) -->
<asp:DropDownList runat="server" ID="DDLLocation" DataSourceID="DSLocation" DataValueField="pos_name" DataTextField="pos_name" AppendDataBoundItems="true" AutoPostBack="true">
                <asp:ListItem Text="--All--" Value="" />
            </asp:DropDownList>
            <asp:SqlDataSource ID="DSLocation" ConnectionString="<%$ ConnectionStrings:CDRConnectionString %>" runat="server" SelectCommand="SELECT distinct pos_name FROM chg_dtl WHERE gt_division = @gt_division and bill_area = @bill_area"
                >
                <SelectParameters>
                    <asp:ControlParameter Name="gt_division" ControlID="DDLDivision" PropertyName="SelectedValue" />
                    <asp:ControlParameter Name="bill_area" ControlID="DDLProgram" PropertyName="SelectedValue" />
                </SelectParameters>
            </asp:SqlDataSource>

4(显示正确的不同值(基于前三个下拉列表)但是在上一个下拉列表的回发上没有显示“--All--”选项。所以我选择了Program,这个下拉列表填充了正确的不同值,但是缺少“--All--”选项。我需要这个选项为用户提供查看全部的选项,而不仅仅是单个下拉选择的结果。我可能可以在代码中做一些事情ind,但希望所有下拉列表保持不变。):

 <!-- Division (gt_division) -->
 <asp:DropDownList runat="server" ID="DDLDivision" DataSourceID="DSDivision" DataValueField="gt_division" DataTextField="gt_division" AppendDataBoundItems="true" AutoPostBack="true">
                 <asp:ListItem Text="--All--" Value="" />
            </asp:DropDownList>
            <asp:SqlDataSource ID="DSDivision" ConnectionString="<%$ ConnectionStrings:CDRConnectionString %>" runat="server" SelectCommand="select distinct gt_division from chg_dtl">
            </asp:SqlDataSource>
 <!-- Physician (BILLING_NAME) -->
 <asp:DropDownList runat="server" ID="DDLPhysician" DataSourceID="DSPhysician" DataValueField="billing_prov_name" DataTextField="billing_name" AppendDataBoundItem="true" AutoPostBack="true">
                <asp:ListItem Text="All" Value="" />
            </asp:DropDownList>
            <asp:SqlDataSource ID="DSPhysician" ConnectionString="<%$ ConnectionStrings:CDRConnectionString %>" runat="server"
                SelectCommand="SELECT distinct billing_name 
                               FROM chg_dtl 
                               WHERE gt_division = @gt_division AND bill_area = @bill_area AND pos_name = @pos_name"
                >
                <SelectParameters>
                    <asp:ControlParameter Name="gt_division" ControlID="DDLDivision" PropertyName="SelectedValue" />
                    <asp:ControlParameter Name="bill_area" ControlID="DDLProgram" PropertyName="SelectedValue" />
                    <asp:ControlParameter Name="pos_name" ControlID="DDLLocation" PropertyName="SelectedValue" />
                </SelectParameters>
            </asp:SqlDataSource>


您在第四个下拉列表中使用了“AppendDataBoundItem”而不是“AppendDataBoundItems”

啊!两天来,我一直认为这是一个奇怪的asp回发问题。谢谢!!!我们都去过:)。很高兴我能帮忙。