SQL insert始终采用dropdownlist默认值

时间:2013-09-25 08:31:26

标签: asp.net sql vb.net drop-down-menu

我有两个asp下拉列表,第二个将在第一个下拉列表具有选定值时生成选项。下拉列表都从数据库中获取数据。 但是,当我尝试将这两个值插入到我的表中时,第一个下拉列表项将正确插入,第二个下拉列表总是将第一个项插入到我的表中。

经过一些测试后,我发现第二个下拉列表没有被选中,第一个项目被插入到我的表中,因为它是默认值。

BTW,我的第一个下拉列表是autopostback,而第二个下拉列表不是。{/ p>

我使用的是Microsoft Web Developer 2010 express,我使用的是Visual Basic。

第一个下拉列表:

<asp:DropDownList ID="stockcodeddl" runat="server" AutoPostBack="True" DataSourceID="SqlDataSource1" DataTextField="stockcode" 
                    DataValueField="stockcode" Width="174px" Height="19px">
                </asp:DropDownList>
                <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                    ConnectionString="<%$ ConnectionStrings:oakwell %>" 
                    SelectCommand="SELECT [stockcode] FROM [orders] GROUP BY [stockcode]">
                </asp:SqlDataSource>

second dropdown list:

<asp:DropDownList ID="componentddl" runat="server" DataSourceID="ComponentsByStockCode" DataTextField="component" 
                    DataValueField="stockcode" Width="174px" Height="19px" 
                    Enable="true" onchange="getComponent()" >
                </asp:DropDownList>
                <asp:TextBox ID="comtxt" runat="server"></asp:TextBox>
                <asp:SqlDataSource ID="ComponentsByStockCode" runat="server" 
                    ConnectionString="<%$ ConnectionStrings:oakwell %>" 
                    SelectCommand="SELECT component, stockcode FROM orders WHERE ([stockcode] = @stockcode) GROUP BY stockcode, component">
                    <SelectParameters>
                        <asp:ControlParameter ControlID="stockcodeddl" Name="stockcode" PropertyName="SelectedValue" />
                    </SelectParameters>
                </asp:SqlDataSource>

2 个答案:

答案 0 :(得分:1)

请检查您的数据库中的下拉绑定数据是否在Page init上的IsPostback中。如果没有,则在按钮事件触发之前,它将重新绑定页面初始化函数的下拉列表。

答案 1 :(得分:0)

尝试

dropdown2.selectedvalue 

dropdown2.selecteditem