0

変更する必要があるページがあります。このページは別の開発者によって作成されました。このページには、ユーザーが作成者の名前を選択し、ボタンをクリックして、その作成者の名前をウィッシュ リストに追加できるコンボボックスと機能が既にありました。ライブラリのジャンルを表示する別のコンボボックスを追加し、そのジャンルに関連付けられた著者を表示してから、ユーザーがボタンをクリックしてそれらすべての著者を読みたいリストに追加できるようにする必要があります。著者とジャンルのコンボボックスの両方を含むコードと、ジャンルが選択されたときにすべての著者を挿入するために使用しようとしているスクリプトを次に示します。

<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 ボタンがクリックされたときに個々の著者がデータベースに挿入されるように、データベースに挿入される著者のリストを取得するにはどうすればよいですか?

4

1 に答える 1

0

この回答を確認してください。通常の選択ボックスは使用できません。実際には値が1つしかないため、複数の選択にはコントロールを使用する必要があります。その後、作成者を入力することはできません。それらすべてを選択/チェックしてから、すべてを取得します値を C# コードに挿入すると、それらすべてを for で挿入できるようになります。

于 2013-10-10T19:49:00.443 に答える