0

私はプロジェクトに取り組んでいて、selecting_indexchanged のテキスト ボックスの 1 つを埋めるときに 2 つのテキスト ボックスとドロップダウンがあるため、エラーに直面しています。空白にしてインデックス値を 0 にドロップすると、エラーとして次のように表示されます

"ドロップダウンには、項目のリストに存在しないため無効な SelectedIndex があります。パラメータ名: 値"

<td class="style4">
            <asp:Label ID="lbl_bookname" runat="server" Text="Book Name" 
                ForeColor="Black"></asp:Label>
        </td>
        <asp:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server"  TargetControlID="txt_bookname" MinimumPrefixLength="1" EnableCaching="true" CompletionSetCount="1" CompletionInterval="1000" ServiceMethod="getbookname">
        </asp:AutoCompleteExtender>
        <td class="style4">
        <asp:ScriptManager ID="ScriptManager1" runat="server">
                        </asp:ScriptManager>

            <asp:TextBox ID="txt_bookname" runat="server" ValidationGroup="a" OnTextChanged="editiondrpfill_TextChanged" AutoPostBack="true"></asp:TextBox>
             <asp:AutoCompleteExtender ID="AutoCompleteExtender2" runat="server" TargetControlID="txt_bookname" MinimumPrefixLength="1" EnableCaching="true"  CompletionSetCount="1" CompletionInterval="1000" ServiceMethod="getbookname">
        </asp:AutoCompleteExtender> 
        </td>
        <td class="style4">
            <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" 
                ErrorMessage="*" ForeColor="Red" ControlToValidate="txt_bookname" 
                ValidationGroup="a"></asp:RequiredFieldValidator>
        </td>
        <td class="style4">
            <asp:Label ID="lbl_condition" runat="server" ForeColor="Black" Text="Condition"></asp:Label>
            </td>
        <td class="style4">
            <asp:TextBox ID="txt_condition" runat="server" BackColor="White" 
                ReadOnly="True" Width="120px"></asp:TextBox>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator8" runat="server" 
                ControlToValidate="txt_condition" ErrorMessage="*" ForeColor="Red" 
                ValidationGroup="a"></asp:RequiredFieldValidator>
            </td>
        <td>
            &nbsp;</td>
    </tr>
    <tr>
        <td class="style4">
            <asp:Label ID="lbl_edition" runat="server" ForeColor="Black" Text="Edition"></asp:Label>
        </td>
        <td class="style4">
            <asp:DropDownList ID="drp_edition" runat="server" ValidationGroup="a" 
                Width="120px" onselectedindexchanged="drp_edition_SelectedIndexChanged" 
                AutoPostBack="true" TabIndex="0">
            </asp:DropDownList>
        </td>
        <td class="style4">
            <asp:RequiredFieldValidator ID="RequiredFieldValidator7" runat="server" 
                ControlToValidate="drp_edition" ErrorMessage="*" ForeColor="Red" 
                ValidationGroup="a"></asp:RequiredFieldValidator>
        </td>

ドロップダウンを埋めるための CS コード

  protected void editiondrpfill_TextChanged(object sender, EventArgs e)
{
   sql = "select bt.booktwo_id,bt.edition,b.bookname from library_book b , library_booktwo bt where bookname ='" + txt_bookname.Text+ "' and bt.book_id=b.book_id";
   ds = obj.openDataset(sql, Session["SCHOOLCODE"].ToString());
   drp_edition.Items.Clear();
    ListItem li = new ListItem();
    li.Text = "Select the value";
     li.Value = "0";
    drp_edition.Items.Add(li);
    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
    {
        li = new ListItem();
         li.Text= ds.Tables[0].Rows[i]["edition"].ToString();
         li.Value = ds.Tables[0].Rows[i]["booktwo_id"].ToString();
        drp_edition.Items.Add(li);
    }
}

リセットボタンイベントのcsコード

  protected void btn_reset_Click(object sender, EventArgs e)
{
    txt_bookname.Text = "";
    txt_condition.Text = "";
    txt_member_id.Text = "";
    txt_nameofstudent.Text = "";
    txt_quantity.Text = "";
    drp_edition.SelectedIndex = 0;
    drp_isbn.SelectedIndex = 0;
}
4

2 に答える 2

2

aspx.csページで1つのことを行い、ListItemを値0のドロップダウンに追加します

<asp:DropDownList ID="drp_edition" runat="server" ValidationGroup="a" 
                Width="120px" onselectedindexchanged="drp_edition_SelectedIndexChanged" 
                AutoPostBack="true" TabIndex="0">
                <asp:ListItem Value="0" Text="Select" ></asp:ListItem>
            </asp:DropDownList>

それはあなたの問題を解決します。

それがうまくいくことを願っています。

于 2013-04-30T07:29:33.233 に答える
0

ドロップダウン「drp_edition」のデフォルトのリスト項目を配置します。リセット fn でselectedindex=0が割り当てられているためです。この場合、いくつかのリスト項目が必要です。

<td class="style4">
<asp:DropDownList ID="drp_edition" runat="server" ValidationGroup="a" Width="120px"      
onselectedindexchanged="drp_edition_SelectedIndexChanged" AutoPostBack="true" TabIndex="0">
<asp:ListItem Text="--Select--" Value="0" />
</asp:DropDownList>
</td>
<td class="style4">
<asp:RequiredFieldValidator ID="RequiredFieldValidator7" runat="server"           
ControlToValidate="drp_edition" ErrorMessage="*" ForeColor="Red" InitialValue="0"    
ValidationGroup="a"></asp:RequiredFieldValidator>
</td>
于 2013-04-30T07:28:09.107 に答える