1

こんにちは、私は 1 つの asp.net Web アプリケーションを開発しています。つまり、1 つの登録フォームを作成しています。登録フォーム ページには、国、州、都市という名前の 3 つのドロップダウン リストがあります。したがって、ユーザーが国を選択すると、その国の州が州のドロップダウンリストに表示され、ユーザーが州のドロップダウンリストから州を選択すると、ドロップダウンリストに都市のリストが表示されます。

機能を実装しましたが、ユーザーがドロップダウンリストで値を選択すると、ポストバックが発生します。私の場合、ユーザーが国または州を選択したときにページをリロードしたくないので、ajax ツールキットを使用して同じ機能を実装しようとしました。しかし、ajax を使用して同じ機能を実現することはできません。

簡単に言えば、私の問題は、ページをリロードせずにasp.netのドロップダウンリストから国、州、都市を選択することです。

ここでは、aspx の部分を示します。

私を助けてください。

国ドロップダウン

<asp:DropDownList ID="DropDownListCountry" runat="server" Enabled="false"  
        OnSelectedIndexChanged="DropDownListCountry_OnSelectedIndexChanged" 
        AutoPostBack ="false">
     <asp:ListItem>India</asp:ListItem>
     <asp:ListItem>Other</asp:ListItem>
</asp:DropDownList>

StateDropDown

<asp:UpdatePanel ID="UpdatePanel1" runat="server" >
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="DropDownListCountry" EventName="OnSelectedIndexChanged" />
    </Triggers>
    <ContentTemplate>
        <asp:DropDownList runat="server" ID="DropDownListState"  Enabled="false"
           OnSelectedIndexChanged="DropDownListState_OnSelectedIndexChanged">
        </asp:DropDownList>
    </ContentTemplate>
</asp:UpdatePanel>
4

2 に答える 2

0

うわー、あなたは何が悪いのかを説明するのに大混乱を引き起こしました....しかし、助けようと最善を尽くします. まず、最初の DDL は次のように定義する必要があります。

<asp:DropDownList ID="Contries" runat="server" AutoPostBack="true" OnSelectedIndexChanged="Contries_SelectedIndexChanged">
    <asp:ListItem Text="country1" />
    <asp:ListItem Text="country2" />
</asp:DropDownList>

2 番目の DDL :

   <asp:UpdatePanel runat="server" >
    <ContentTemplate> 
        <asp:DropDownList ID="States" runat="server" AutoPostBack="true">
    <asp:ListItem Text="state1" />
    <asp:ListItem Text="state2" />


</asp:DropDownList>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="Contries" EventName="OnSelectedIndexChanged" />
    </Triggers>
</asp:UpdatePanel>

など、非同期ポストバックを行う必要がある DDL では、自動ポストバックが true である必要があります。

DDL を 1 つずつ削除し、2 から始めて次に進みます。

于 2013-10-23T15:29:16.390 に答える