web-dev-qa-db-ja.com

ドロップダウンリストの選択したインデックスが更新パネルで機能しない

UpdatePanel_2にドロップダウンリストがあります。UpdatePanel_1でButton_1をクリックすると、ドロップダウンリストが表示されます。

私のddlistマークアップは、

<asp:DropDownList id="drop1" runat="server"  EnableViewState="true" AutoPostBack="true" OnSelectedIndexChanged="Drop1_SelectedIndexChanged" />

それからコードビハインドは、

 protected void Drop1_SelectedIndexChanged(object sender, EventArgs e)
        { }

DropDownListにAutoPostback = trueを設定しようとしましたが、まだ成功しません。

また、パネル2を更新するためにトリガーを追加しましたが、ゲインはありませんでした。

       <Triggers>
    <asp:AsyncPostbackTrigger ControlID="drop1" EventName="SelectedIndexChanged" />
</Triggers>

ページの読み込み方法ではないボタンを使用してDropDownListにデータを入力しています。回答する前に読んでください。ありがとうございます

9
Mathematics

データを確認して、Page_LoadイベントにDropDownListを入力し、常にIspostBackを確認します。

if(!IsPostBack)
{
 //DropDownList configuration
}

EnableViewStateを使用:

 <asp:DropDownList ID="ddlAddDepPlans" runat="server" AutoPostBack="true" EnableViewState="true" />

お役に立てば幸いです。

11
Neeraj Dubey

同じ問題がありました。私の問題は、私のListItemの値がすべて同じであるということでした:D

<asp:DropDownList ID="ddlFilterLogins" runat="server" Visible="true" AutoPostBack="true">
    <asp:ListItem Value="0" Text="All"></asp:ListItem>
    <asp:ListItem Value="0" Text="Some"></asp:ListItem>
    <asp:ListItem Value="0" Text="Some more"></asp:ListItem>
</asp:DropDownList>

次のようになります。

<asp:DropDownList ID="ddlFilterLogins" runat="server" Visible="true" AutoPostBack="true">
    <asp:ListItem Value="0" Text="All"></asp:ListItem>
    <asp:ListItem Value="1" Text="Some"></asp:ListItem>
    <asp:ListItem Value="2" Text="Some more"></asp:ListItem>
</asp:DropDownList>

お役に立てれば。これは時々見つけるのが難しいかもしれません:)

9
Jboy Flaga

それも私にとって有線の問題でした。最後に、以下に示すように、ドロップダウンに同じリスト項目があるためです。開発中は、テストのためだけに同じアイテムを使用できます。それらを変更します。

<asp:ListItem>Business</asp:ListItem>
<asp:ListItem>Business</asp:ListItem>
<asp:ListItem>Business</asp:ListItem>
<asp:ListItem>Business</asp:ListItem>
0
Reagan

SelectedIndexChangedの代わりにInitイベントを使用できます。それは私にとってはうまくいきました。あなたが私のポイントを得たことを願っています。

0
Chakri

Page_Load()で初期化するときに、ポストバックでないかどうかを確認してください。これを行わない場合は、常にデフォルト値を設定し、これがイベントで設定された値を置き換えます。

if(!IsPostBack)
{
//DropDownList configuration
}
0
Alberto León