2013-09-25 93 views
0

我有兩個ASP下拉列表,第二個會產生選項時,第一個下拉列表有一個選定的值。這兩個下拉列表都從數據庫獲取數據。 然而,當我嘗試這兩個值插入到我的表中,第一個下拉列表項將正確地插入,第二個下拉列表總是插入第一個項目到我的表。SQL插入始終把下拉列表默認值

經過一些測試後,我發現第二個下拉列表沒有被選中,並且第一個項目被插入到我的表格中,因爲它的默認值。

順便說一句,我的第一個下拉列表是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> 
+3

請張貼代碼,以便更好地理解你的問題。 – UrsulRosu

+0

呃如何發佈我的代碼截圖? – wusen

回答

0

嘗試

dropdown2.selectedvalue 

dropdown2.selecteditem 
+0

我已經嘗試過兩個人,都不爲我工作 – wusen

+0

爲什麼第二ddl沒有postback ..任何有效的原因.. – Sasidharan

+0

呃我的第一個dropdownlist是回發的原因,因爲我想第二個dropdownlist生成不同的數據基地選擇第一個下拉列表。 – wusen

1

請檢查您的下拉列表,從數據庫綁定數據是在頁面初始化的的IsPostBack內。如果沒有,那麼在按鈕事件觸發之前,它將重新初始化頁面初始化函數的下拉菜單。

+0

你好,你可以更多地討論頁面初始化?我真的不明白,或者你有外部鏈接的例子?謝謝:) – wusen

+0

請採取下面來看看鏈接,IsPostBack屬性是如何工作的page_init或的Page_Load FN。 http://msdn.microsoft.com/en-us/library/system.web.ui.page.ispostback.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-2 http:///stackoverflow.com/questions/3620883/implementation-of-ispostback-in-page-load – Selva

+0

好的,非常感謝兄弟在我的情況下,我不認爲我需要使用ispostback函數,因爲第一個dropdownlist將被改變超過1次 – wusen