0

私は2を持っていますdropdownlistが、これはaにバインドされてSQLDataSourceおり、の値は2nd dropdownlist1番目に基づいていdropdownlistます。問題は、デフォルトdropdownlistで実際の値が表示されていることです。初期値をdpsemに入れたので、正しく機能しています。しかし、同じようにすると、dpsubj dropdownlist前の値も表示されます。

dpsem--4を選択した場合、dpsubjはA、B、Cになり、dpsem--6を選択した場合、dpsubjはD、E、Fになります。しかし、それはA、B、C、D、E、Fを表示しています...

Autopostbackに関連する問題であることを知っています...

     <asp:DropDownList ID="dpsem" runat="server" Height="28px" 
                   Width="99px" AutoPostBack="True" DataSourceID="selectsemester" 
                   DataTextField="sem_no" DataValueField="sem_no" AppendDataBoundItems="true">
                  <asp:ListItem Selected="True" Value="0">-select</asp:ListItem>

            </asp:DropDownList>

     <asp:DropDownList ID="dpsubj" runat="server" Height="28px" 
                   Width="99px" AutoPostBack="True" DataSourceID="Selectscode" 
                   DataTextField="scode" DataValueField="scode" AppendDataBoundItems="true">
                  <asp:ListItem Selected="True" Value="0">-select</asp:ListItem>

            </asp:DropDownList>

 <asp:SqlDataSource ID="Selectscode" runat="server" 
        ConnectionString="<%$ ConnectionStrings:AttendenceManagementConnectionString %>" 
        SelectCommand="SELECT DISTINCT [scode] FROM [Semester_Wise_Subject] WHERE (([branch_name] = @branch_name) AND ([sem_no] = @sem_no))">
        <SelectParameters>
            <asp:ControlParameter ControlID="lbdept" DefaultValue="IT" Name="branch_name" 
                PropertyName="Text" Type="String" />
            <asp:ControlParameter ControlID="dpsem" DefaultValue="6" Name="sem_no" 
                PropertyName="SelectedValue" Type="Int32" />
        </SelectParameters>
    </asp:SqlDataSource>



    <asp:SqlDataSource ID="selectsemester" runat="server" 
        ConnectionString="<%$ ConnectionStrings:AttendenceManagementConnectionString %>" 
        SelectCommand="SELECT DISTINCT [sem_no] FROM [Batch_year]">
    </asp:SqlDataSource>
4

3 に答える 3

0

..を使用dpsubj.Items.Clear()してから、フィルタリングされたデータを再度ロードするselectedindexchangedと、最初にdpsubjドロップダウンの以前のすべてのレコードが削除され、次にコードを使用してdpsubjに値がロードされます。

于 2013-03-13T17:51:40.000 に答える
0

AppendDataBoundItems="false"に設定dpsubj

このプロパティをtrueに設定したため、データバインディングの前にアイテムがクリアされません。

于 2013-03-13T17:59:15.707 に答える
0

最初のドロップダウンで SelectedIndexChanged イベントを作成し、そのイベントによって 2 番目のドロップダウンでデータバインドが発生する必要があると思います。また、デフォルトで、2 番目のドロップダウンにデータを表示したくない場合は、デフォルトのパラメーター値を削除します。

ajax で何かをしている場合は、スクリプト マネージャーでも最初のドロップダウンが 2 番目のドロップダウンを更新することを確認する必要があります。

于 2013-03-13T17:55:53.970 に答える