【问题标题】:Inserting multiple rows into SQL Server database from cascade dropdown box selection从级联下拉框选择中将多行插入 SQL Server 数据库
【发布时间】:2013-10-11 04:26:06
【问题描述】:

我有一个页面需要修改。该页面是由另一个开发人员编写的。该页面已经有一个组合框和功能,允许用户选择作者姓名,单击按钮,然后将该作者姓名添加到他们的愿望清单中。我需要添加另一个组合框来显示图书馆的流派,显示与该流派相关的作者,然后允许用户单击一个按钮并将所有这些作者添加到他们的阅读愿望列表中。这是包含作者和流派组合框的代码以及我尝试在选择流派时用来插入所有作者的脚本:

<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>

现在是通过单击按钮调用的脚本:

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);
}

我的问题是,当我单击“添加流派”按钮时,添加单个作者的事件会触发并被插入 - 不是所有出现在组合框中的作者 - 取决于选择的流派。

如何获取要插入数据库的作者列表,就像单击 AddAuthors 按钮时将单个作者插入数据库一样?

【问题讨论】:

    标签: c# asp.net sql-server


    【解决方案1】:

    检查this answer,你不能使用普通的选择框——因为它实际上只有一个值,你应该使用控件进行多选,之后——你不能用作者填充它们,它们都被选中/选中,然后您将获得 C# 代码中的所有值,然后您将能够使用 for 将它们全部插入

    【讨论】:

      猜你喜欢
      • 2011-07-16
      • 1970-01-01
      • 1970-01-01
      • 2019-07-31
      • 1970-01-01
      • 2019-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多