C# 从级联下拉框选择将多行插入SQL Server数据库
我有一个页面需要修改。该页面是由另一个开发人员编写的。该页面已经有一个组合框和函数,允许用户选择作者的姓名,单击按钮,然后将该作者的姓名添加到他们的愿望列表中。我需要添加另一个组合框来显示库的类型,显示与该类型相关的作者,然后允许用户单击按钮并将所有这些作者添加到他们的阅读愿望列表中。以下是作者和流派组合框的代码,以及我试图在选择流派时插入所有作者的脚本:C# 从级联下拉框选择将多行插入SQL Server数据库,c#,asp.net,sql-server,C#,Asp.net,Sql Server,我有一个页面需要修改。该页面是由另一个开发人员编写的。该页面已经有一个组合框和函数,允许用户选择作者的姓名,单击按钮,然后将该作者的姓名添加到他们的愿望列表中。我需要添加另一个组合框来显示库的类型,显示与该类型相关的作者,然后允许用户单击按钮并将所有这些作者添加到他们的阅读愿望列表中。以下是作者和流派组合框的代码,以及我试图在选择流派时插入所有作者的脚本: <asp:DropDownList ID="ddlGenres" runat="server" DataSourceID="SqlDa
<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>
我的问题是,当我单击“添加流派”按钮时,添加单个作者的事件将触发并插入-而不是组合框中显示的所有作者-这取决于选择的流派
如何获得要插入数据库的作者列表,就像单击AddAuthors按钮时将单个作者插入数据库一样?检查,您不能使用普通选择框-因为它实际上只有一个值,您应该使用控件进行多个选择,然后-您不能使用作者填充它们,将它们全部选中/选中,然后您将获得C#代码中的所有值,然后您将能够使用for插入所有值
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);
}