0

ポップアップする Panel に 2 つの dropDownLists があります。最初の dropDownList の 1 つの値を変更すると、最初の dropDownList で選択した値を 2 番目の dropDownList に入力したいと考えています。私が持っているようにAutoPostBack = "true"、ページは常に更新され、ポップアップは消えます。実際には、ポップアップのパネルを更新したいだけです。

を使用してAsyncPostBackTriggerいます。

<asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID="btnShowPopup"
            PopupControlID="pnlpopup" CancelControlID="btnCancel" BackgroundCssClass="modalBackground">
    </asp:ModalPopupExtender>
<asp:Panel ID="pnlpopup" runat="server" BackColor="White" Height="199px" Width="400px"
        Style="display: none">
        <table width="100%" style="border: Solid 3px #D55500; width: 100%; height: 100%"
            cellpadding="5" cellspacing="0">
            <tr style="background-color: #D55500">
                <td colspan="2" style="height: 10%; color: White; font-weight: bold; font-size: larger"
                    align="center">
                    Insert Product
                </td>
            </tr>

            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
                    <tr>
                        <td align="right" style="width: 45%">
                            Category:
                        </td>
                        <td> 
                            <asp:DropDownList AutoPostBack="true" runat="server" ID="DropDownList1" OnSelectedIndexChanged="dropDownList_Change" />
                        </td>
                    </tr>
                    <tr>
                        <td align="right">
                            Product:
                        </td>
                        <td>
                            <asp:DropDownList id="DropDownList2" runat="server">
                            </asp:DropDownList>
                        </td>
                    </tr>
                </ContentTemplate>
                <Triggers> 
                    <asp:AsyncPostBackTrigger ControlID="DropDownList1" EventName="SelectedIndexChanged" /> 
                </Triggers> 
            </asp:UpdatePanel>
            <tr>
                <td>
                </td>
                <td>
                    <asp:Label ID="popup_modo" runat="server" Visible="false"></asp:Label>
                    <asp:Button ID="btnCommand" CommandName="Update" runat="server" Text="Update" OnClick="btnUpdate_Click" />
                    <asp:Button ID="btnCancel" runat="server" Text="Cancel" />
                </td>
            </tr>
        </table>
    </asp:Panel>
4

2 に答える 2

0

同様の問題があり、キーはItems do Dropdownを設定した部分にありました。これらの項目を設定すると、ページのリロード後に最初の項目が選択されます (自動ポストバックあり)。

これが問題である場合は、これを試してください:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        fillDropDown();
    }
}
于 2013-09-04T11:39:39.933 に答える