Asp.net SQL插入始终采用dropdownlist默认值
我有两个asp下拉列表,第二个将在第一个下拉列表具有选定值时生成选项。两个下拉列表都从数据库中获取数据。 但是,当我尝试将这两个值插入到我的表中时,第一个下拉列表项将正确插入,第二个下拉列表始终将第一个项插入到我的表中 经过一些测试,我发现第二个下拉列表没有被选中,第一个项目被插入到我的表中,因为它是默认值 顺便说一句,我的第一个下拉列表是Asp.net SQL插入始终采用dropdownlist默认值,asp.net,sql,vb.net,drop-down-menu,Asp.net,Sql,Vb.net,Drop Down Menu,我有两个asp下拉列表,第二个将在第一个下拉列表具有选定值时生成选项。两个下拉列表都从数据库中获取数据。 但是,当我尝试将这两个值插入到我的表中时,第一个下拉列表项将正确插入,第二个下拉列表始终将第一个项插入到我的表中 经过一些测试,我发现第二个下拉列表没有被选中,第一个项目被插入到我的表中,因为它是默认值 顺便说一句,我的第一个下拉列表是autopostback,而第二个不是 我使用的是Microsoft Web Developer 2010 express,我使用的是Visual Basic
autopostback
,而第二个不是
我使用的是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>
第二个下拉列表:
试试看
或
请检查数据库中的下拉绑定数据是否在init页的IsPostback中。如果没有,则在按钮事件触发之前,它将重新绑定page init函数上的下拉列表。请发布代码以更好地理解您的问题。呃,如何发布我的代码截图??您好,您能详细介绍page init吗?我真的不明白,或者你有没有外部链接作为例子?谢谢:)请查看以下链接,了解IsPostBack属性如何在page_init或page_load fn上工作。好的,谢谢兄弟,在我的情况下,我不认为我需要使用ispostback功能,因为第一个dropdownlist将被更改超过1次。这是我的第一个dropdownlist被回发的原因,因为我希望第二个dropdownlist根据第一个dropdownlist的选择生成不同的数据。实际上我已经尝试了第二个ddl被回发,但这是一个问题,在选择一个选项并刷新页面加载后,我选择的项目消失后,默认项目将再次被选择。我已经使用dropdown2.selectedvalue解决了问题,并更改了DataValueField=“component”
dropdown2.selectedvalue
dropdown2.selecteditem