用户控件的下拉列表导致updatepanel内部完全回发

时间:2012-06-25 13:51:15

标签: c# asp.net

我正在开发asp.net应用程序,我有一个像这样的更新面板:

   <asp:UpdatePanel ID="upCheckout" runat="server">
                    <ContentTemplate>
                        <!-- BillingAddress -->
                        <div runat="server" id="pnlBillingAddress" class="checkoutstep">

                            <asp:Panel runat="server" ID="pnlBillingAddressContent" class="stepcontent">
                                <nopCommerce:CheckoutBillingAddress ID="ctrlCheckoutBillingAddress" runat="server"
                                    OnePageCheckout="true" OnCheckoutStepChanged="ctrlCheckoutBillingAddress_CheckoutStepChanged" />


                                <asp:CheckBox ID="chkShippingSameAsBilling" runat="server" Text="  Ship to same address"
                                    AutoPostBack="true" Checked="true" onclick="ShowShippingAddress();" /><br />
                            </asp:Panel>
                        </div>
                        <!-- ShippingAddress -->
                        <div runat="server" id="pnlShippingAddress" class="checkoutstep">                                
                            <asp:Panel runat="server" ID="pnlShippingAddressContent" class="stepcontent">
                                <nopCommerce:CheckoutShippingAddress ID="ctrlCheckoutShippingAddress" runat="server"
                                    OnePageCheckout="true" OnCheckoutStepChanged="ctrlCheckoutShippingAddress_CheckoutStepChanged" />                                    
                            </asp:Panel>
                        </div>
                    </ContentTemplate>
                </asp:UpdatePanel>

其中帐单邮寄地址是用户控件。在帐单地址控制中,有一个dropdownlost。像这样:

  <asp:DropDownList ID="drpBillingAddresses" ClientIDMode="Static" runat="server" AutoPostBack="True" OnSelectedIndexChanged="drpBillingAddresses_SelectedIndexChanged">
                        </asp:DropDownList>

但是当我更改下拉选项时,我会得到完整的回发而不是部分回发。为什么我得到完整的回发?

1 个答案:

答案 0 :(得分:1)

通过设置UpdatePanel的Triggers属性,将OnSelectedIndexChanged事件注册为异步。