0

I have a page I need to modify. The page was written by another developer. The page already had a combobox and function that allowed the user to select an author's name, click a button, then add that author's name to their wish list. I need to add another combobox that displays the library's genres, display the authors associated with that genre, then allow the user to click a button and add all those authors to their reading wish list. Here is the code with both the author and the genre comboboxes and the script that I'm attempting to use to insert all the authors when a genre is selected:

<asp:DropDownList ID="ddlGenres" runat="server" DataSourceID="SqlDataSourceLibros" 
     DataTextField="Genre_Name" DataValueField="GenreID" 
     onselectedindexchanged="genreList_SelectedIndexChanged" AutoPostBack="True" AppendDataBoundItems="true">
    <asp:ListItem Value="0">Groups</asp:ListItem>
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1Libros" runat="server" 
        ConnectionString="<%$ ConnectionStrings:Libros %>" 
        SelectCommand="SELECT [GenreID],[Genre_Name] FROM [Library_Genres] ORDER BY [Genre_Name]">        
</asp:SqlDataSource>
<asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="True" 
        DataSourceID="SqlDataSourceLibros2" DataTextField="Author_Name"  EnableViewState="false"
        DataValueField="Genre_Name">
</asp:DropDownList>
<asp:ImageButton ImageUrl="~/buttons/addGenre.png" Height="18px"  
          OnMouseOver="this.src='../buttons/addGenreHover.png'" 
          OnMouseOut="this.src='../buttons/addGenre.png'" 
          ToolTip="Add Library Genre" runat="server"  ID="btnAddGenre"  
          OnClick="btnAddGenre_Click" />
<asp:SqlDataSource ID="SqlDataSource2" runat="server" 
        ConnectionString="<%$ ConnectionStrings:Libros %>"         
        SelectCommand="SELECT [Author_Name] FROM [Library_authors] WHERE ([Genre_Name] = @Genre_Name)">
   <SelectParameters>
       <asp:ControlParameter ControlID="ddlGroups" Name="Author_Name" 
                PropertyName="SelectedValue" Type="String" />
   </SelectParameters>
</asp:SqlDataSource>

And now the script that is called by clicking the button:

protected void btnAddAuthors(object sender, EventArgs e)
{
        odsAuthors.Insert();
        AuthorList.ClearSelection();
        Response.Redirect(Request.Url.AbsoluteUri);
}

protected void btnAddGenre(object sender, EventArgs e)
{
        SqlDataSourceLibros2.Insert();
        ddlGenres.ClearSelection();
        Response.Redirect(Request.Url.AbsoluteUri);
}

My problem is that when I click the Add Genres button, the event that adds the individual author fire and is inserted - not all of the authors that appear in the combo box - depending on what genre is selected.

How can I get the list of authors to be inserted into the database like the individual author is inserted into the database when the AddAuthors button is clicked?

marc_s
  • 732,580
  • 175
  • 1,330
  • 1,459
user2821300
  • 309
  • 1
  • 4
  • 13

1 Answers1

0

Check this answer, you cannot use ordinary select box - as it really has only one value, you should use controls for multiple selection, after this - you cannot populate them with authors, them them all as selected/checked and then you will get all values in your C# code, then you will be able to insert them all with for

Community
  • 1
  • 1
Iłya Bursov
  • 23,342
  • 4
  • 33
  • 57