2012-06-25 35 views
0

我工作在asp.net應用程序完全回發,我有一個更新面板是這樣的:用戶控件的下拉造成內部的UpdatePanel

<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> 

其中的帳單地址的用戶控件。在帳單地址控制中,有一個下拉列表。像這樣:

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

但是當我改變下拉選擇,我得到完整的回發,而不是部分回發。爲什麼我得到全面回發?

回答

1

通過設置UpdatePanel的Triggers屬性,將OnSelectedIndexChanged事件註冊爲異步事件。

+0

但所有的控件都在同一個updatepanel中。爲什麼我需要在這裏設置觸發器? – DotnetSparrow

+0

@DotnetSparrow是DropDownList的UpdatePanel的孩子? – adatapost

+0

下拉列表是用戶控件的一部分。並且用戶控件被放置在updatepanel內的頁面上。 updatepanel是在頁 – DotnetSparrow

相關問題