У меня есть этот код в моем Pageload
ASP.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>
В вашей 'Page_Load' ваша привязка к' DropDown' получила проверку 'if (! IsPostBack)'? – Nic