2013-09-25 3 views
0

У меня есть два списка выпадающих списков asp, второй будет генерировать параметры, когда первый раскрывающийся список имеет выбранное значение. Оба выпадающего списка получают данные из базы данных. Однако, когда я пытаюсь вставить эти два значения в свою таблицу, первый элемент раскрывающегося списка будет правильно вставлен, второй раскрывающийся список всегда вставляет первый элемент в мою таблицу.SQL-вставка всегда принимает значение dropdownlist по умолчанию

После некоторого тестирования я узнал, что второй раскрывающийся список не выбран, и первый элемент был вставлен в мою таблицу, потому что это значение по умолчанию.

BTW, мой первый раскрывающийся список - 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

Я пробовал как человека, так и dont работает для меня – wusen

+0

Почему уа второй ddl дон имеет postback..any действительных причин .. – Sasidharan

+0

eh причина для моего первого dropdownlist быть postback, потому что я хочу, чтобы второй dropdownlist генерировал данные по-разному, основываясь на выбор первого раскрывающегося списка. – wusen

1

Пожалуйста, убедитесь, что ваш выпадающие привязками данных из базы данных был в IsPostBack на странице инициализации. Если нет, то перед запуском события кнопки он перекроет выпадающее меню функции init.

+0

привет, не могли бы вы подробнее рассказать об Page init? Я действительно не понимаю это, или у вас есть внешние ссылки для примеров? спасибо :) – 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

ok спасибо брату в моем случае, я не думаю, что мне нужно использовать функцию ispostback, поскольку первый dropdownlist будет изменен более чем 1 раз – wusen

Смежные вопросы