2015-11-04 14 views
-2

У меня есть этот код в моем PageloadASP.NET Выпадающий список из базы данных MySQL

string query_regNo = @"SELECT spare_part FROM spare_parts"; 
cb_description.Items.Clear(); 
try 
{ 
    conn.Open(); 

    MySqlCommand cmd = new MySqlCommand(query_regNo, conn); 
    MySqlDataReader DR = cmd.ExecuteReader(); 

    while (DR.Read()) 
    { 
     cb_description.Items.Add(new ListItem(DR[0].ToString())); 
    } 
} 

и у меня есть это на моем submit button

{ 
    conn.Open(); 

    MySqlCommand cmd = new MySqlCommand(query_submit, conn); 
    prepareQuery(cmd); 
    cmd.Parameters["@quantity"].Value = tf_quantity.Text; 
    cmd.Parameters["@description"].Value = cb_description.SelectedItem.Value; 
    cmd.Parameters["@remarks"].Value = tf_remarks.Text; 
    cmd.Parameters["@jobID"].Value = job_id != null ? job_id : "1"; 
    cmd.Parameters["@truck_id"].Value = truck_id; 
} 

и это на мой addquery

private void prepareQuery(MySqlCommand cmd) 
{ 
    cmd.Parameters.Add("@quantity", MySqlDbType.Int32); 
    cmd.Parameters.Add("@description", MySqlDbType.VarChar, 45); 
    cmd.Parameters.Add("@remarks", MySqlDbType.VarChar, 45); 
    cmd.Parameters.Add("@jobID", MySqlDbType.VarChar, 45); 
    cmd.Parameters.Add("@truck_id", MySqlDbType.VarChar, 45); 
    cmd.Prepare(); 
} 

, когда я нажимаю кнопку «Отправить», только первое значение (моторное масло) в моемВыбирается выпадающее меню, когда я выбираю другое значение, оно всегда добавляет первое значение в таблицу запасных частей. Как я могу получить выбранное значение из моего DropDownList и добавить его к моему cmd.Parameters.Add("@description", MySqlDbType.VarChar, 45);

у меня есть это на мой aspx

<asp:DropDownList ID="cb_description" runat="server" Height="16px" Width="125px"> 
</asp:DropDownList> 
+1

В вашей 'Page_Load' ваша привязка к' DropDown' получила проверку 'if (! IsPostBack)'? – Nic

ответ

0

В Page_Load события поместить ваш код, если условие, как показано ниже.

If(!Page.IsPostBack) 
{ 
    string query_regNo = @"SELECT spare_part FROM spare_parts"; 
    cb_description.Items.Clear(); 
     try 
     { 
      conn.Open(); 

      MySqlCommand cmd = new MySqlCommand(query_regNo, conn); 
      MySqlDataReader DR = cmd.ExecuteReader(); 

      while (DR.Read()) 
      { 
       cb_description.Items.Add(new ListItem(DR[0].ToString())); 
      } 

     } 
} 
0

Отправка страницы означает перезагрузку страницы еще раз. После перезагрузки ваш dorpdownbox обновляется.

Page.IsPostBack Недвижимость решит вашу проблему. Если вы не хотите обновлять какой-то код, то проверьте! Page.IsPostBack

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