Я использую плагин множественного выбора, который преобразует список в выпадающий список множественного выбора с флажком, и я хочу сохранить выбранные значения в базе данных, разделяя их запятой, как опция1, опция2.
<div class="col-md-4 col-12">
<div class="form-group">
<label for="bkgenres">Genres</label>
<asp:UpdatePanel runat="server">
<ContentTemplate>
<script type="text/javascript">
function pageLoad() {
document.multiselect('#bkgenres');
document.multiselect('#bkgenres').deselectAll();
};
</script>
<asp:ListBox ID="bkgenres" runat="server" CssClass="form-control multiselect-wrapper" multiple="multiple" onChange="mydun()"></asp:ListBox>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="bktype" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
Я использую список на панели обновлений, и он работает нормально, но когда я выбираю несколько элементов и пытаюсь сохранить в базе данных, выбирается только первый выбранный параметр. Это мой код cs:
String get_value = "";
for (int i = 0; i < bkgenres.Items.Count; i++)
{
if (bkgenres.Items[i].Selected)
{
get_value = get_value + bkgenres.Items[i].Text + ",";
}
}
SqlCommand cmd = con.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "insert into Books (bookname,bookauthor,bookpublisher,bookdesc,bookdate,bookedition,bookpages,booktype,bookgenre,booklanguage) values (@bkname,@bkauthor,@bkpublication,@bkdesc,@bkdate,@bkedition,@bkpages,@bktype,@bkgenres,@bklang)";
cmd.Parameters.AddWithValue("@bkname", bkname.Text);
cmd.Parameters.AddWithValue("@bkauthor", bkauthor.Text);
cmd.Parameters.AddWithValue("@bkpublication", bkpublication.Text);
cmd.Parameters.AddWithValue("@bkdesc", bkdesc.Text);
cmd.Parameters.AddWithValue("@bkdate", bkrdate.Text);
cmd.Parameters.AddWithValue("@bkedition", bkedition.Text);
cmd.Parameters.AddWithValue("@bkpages", bkpages.Text);
cmd.Parameters.AddWithValue("@bkgenres", get_value);
cmd.Parameters.AddWithValue("@bktype", bktype.SelectedItem.ToString());
cmd.Parameters.AddWithValue("@bklang", bklanguages.Text);
cmd.ExecuteNonQuery();
После добавления данных, которые я получаю, вывод в таблицу базы данных похож на этот параметр1. Первый параметр вводится в базу данных и разделяется запятой, но остальные параметры не сохраняются в таблице.