c# - Multiple Selection in asp.net not working -


i using listbox in asp.net select multiple option not working multiple selection "program". first value among selected being inserted database. code behind .aspx.cs. below part of code multiple option selection , insertion. using multiple selection "program":

solution: updated code behind , worked.

.aspx page:

<asp:sqldatasource id="sqldatasource1" runat="server"       connectionstring="<%$ connectionstrings:testconnectionstring %>"       deletecommand="delete [database_table] [id] = @id"          insertcommand="insert [database_table] ([firstname], [lastname], [address],[program] values (@firstname, @lastname, @address, @program)"       selectcommand="select * [database_table]">          <deleteparameters>              <asp:parameter name="id" type="int32" />          </deleteparameters>          <insertparameters>              <asp:parameter name="firstname" type="string" />              <asp:parameter name="lastname" type="string" />              <asp:parameter name="address" type="string" />              <asp:parameter name="program" type="string" />          </insertparameters> </asp:sqldatasource>  <asp:listbox id="program" rows="10"  selectionmode="multiple" runat="server">     <asp:listitem selected="true"></asp:listitem>     <asp:listitem>option a</asp:listitem>     <asp:listitem>option b</asp:listitem>     <asp:listitem>option c</asp:listitem>     <asp:listitem>option d</asp:listitem>     <asp:listitem>option e</asp:listitem>     <asp:listitem>option f</asp:listitem>     <asp:listitem>option g</asp:listitem>     <asp:listitem>option h</asp:listitem>     <asp:listitem>option i</asp:listitem> </asp:listbox> 

updated code behind .aspx.cs:

if (error_type == "") {     sqldatasource1.insertparameters["firstname"].defaultvalue = firstname.text;     sqldatasource1.insertparameters["lastname"].defaultvalue = lastname.text;     sqldatasource1.insertparameters["address"].defaultvalue = address.text;      string items = string.empty;     string items_updated = string.empty;      foreach (listitem item in program.items)     {         if (item.selected)         {             items += item.text + ",";         }     }      if (!string.isnullorempty(items))     {         items_updated = items.remove(items.lastindexof(","));        }      sqldatasource1.insertparameters["program"].defaultvalue = items_updated;     sqldatasource1.insertparameters["program"].defaultvalue = program.selecteditem.text;     sqldatasource1.insert();      response.redirect("http://www.example.org/success.aspx", false); } else {     response.redirect("http://www.example.org/failure.aspx", false); } 

for program tried below didn't work selecting multiple options:

sqldatasource1.insertparameters["program"].defaultvalue = program.text; 

can please suggest if missing here?

i not sure of want achieve here, think did not provide enough information objective, although, @ first sight, seems missing loop on code iterate between selected items.

if trying insert 1 row per option in database, should use like:

foreach (listitem item in program.items) {     if(item.selected)     {           sqldatasource1.insertparameters["firstname"].defaultvalue = firstname.text;          sqldatasource1.insertparameters["lastname"].defaultvalue = lastname.text;          sqldatasource1.insertparameters["address"].defaultvalue = address.text;          sqldatasource1.insertparameters["program"].defaultvalue = item.text;           sqldatasource1.insert();      } } 

otherwise, if want put options in single database row, recommend change database structure , add "optiontable". if not option you, , want options in 1 row, use like:

string items = string.empty; foreach (listitem item in program.items) {     if(item.selected)     {         items &= item.text;     } } sqldatasource1.insertparameters["firstname"].defaultvalue = firstname.text; sqldatasource1.insertparameters["lastname"].defaultvalue = lastname.text; sqldatasource1.insertparameters["address"].defaultvalue = address.text; sqldatasource1.insertparameters["program"].defaultvalue = items; sqldatasource1.insert(); 

Comments

Popular posts from this blog

Email notification in google apps script -

c++ - Difference between pre and post decrement in recursive function argument -

javascript - IE11 incompatibility with jQuery's 'readonly'? -