2017-10-06 72 views
0

是否可以使用UpdatePanel控件瀏覽左面板(菜單)? 在Main.master有左邊的菜單使用UpdatePanel控件只刷新內容

<dx:ASPxNavBar ID="ASPxNavBar1" runat="server" AutoCollapse="True" EnableAnimation="True" Width="100%"> 
    <dx:NavBarGroup Text="Group"> 
     <Items> 
      <dx:NavBarItem NavigateUrl="Content/Content1.aspx" Text="Content1"></dx:NavBarItem> 
      <dx:NavBarItem NavigateUrl="Content/Content2.aspx" Text="Data Subject"></dx:NavBarItem> 
     </Items> 
    </dx:NavBarGroup> 
</dx:ASPxNavBar> 

,我嘗試使用UpdatePanel控件

<div class="contentPane"> 
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" updatemode="conditional"> 
     <ContentTemplate> 
      <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server" /> 
     </ContentTemplate> 
    </asp:UpdatePanel> 
</div> 

使用僅刷新內容,但它不工作;標題和菜單在瀏覽菜單時仍然會重新加載。

Content1.aspxContent2.aspx文件具有<asp:content>標籤

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 
    <dx:ASPxGridView ID="ASPxGridView1" runat="server" AutoGenerateColumns="False" KeyFieldName="PK" Width="750px"> 
     <Columns> 
      <dx:GridViewCommandColumn ShowNewButtonInHeader="True" VisibleIndex="0" ShowDeleteButton="True" ShowEditButton="True"> 
      </dx:GridViewCommandColumn> 
      <dx:GridViewDataTextColumn FieldName="PK" ReadOnly="True" Visible="false" VisibleIndex="1"> 
      </dx:GridViewDataTextColumn> 
      <dx:GridViewDataTextColumn FieldName="Name" VisibleIndex="2"> 
      </dx:GridViewDataTextColumn> 
     </Columns> 
    </dx:ASPxGridView> 
</asp:Content> 

回答

1

內只是一個平常的內容我不知道爲什麼你使用的是的UpdatePanel是一個requeriment? 我會用一個ASPxCallbackPanel這是一個偉大更換爲的UpdatePanel,你可以使用它,因爲你正在使用的DevExpress控制

<script type="text/javascript"> 
     var postponedCallbackRequired = false; 
     function OnListBoxIndexChanged(s, e) { 
      if(CallbackPanel.InCallback()) 
       postponedCallbackRequired = true; 
      else 
       CallbackPanel.PerformCallback(); 
     } 
     function OnEndCallback(s, e) { 
      if(postponedCallbackRequired) { 
       CallbackPanel.PerformCallback(); 
       postponedCallbackRequired = false; 
      } 
     } 
    </script> 

<dx:ASPxListBox runat="server" Height="221px" Width="100%" TextField="Name" DataSourceID="EmployeesDataSource1" 
         ValueField="EmployeeID" ID="ASPxListBox1" ClientInstanceName="ListBox" BackColor="Transparent"> 
         <Border BorderWidth="0px"></Border> 
         <ItemStyle> 
          <Border BorderWidth="0px"></Border> 
         </ItemStyle> 
         <ClientSideEvents SelectedIndexChanged="OnListBoxIndexChanged" /> 
        </dx:ASPxListBox> 


<dx:ASPxCallbackPanel runat="server" ID="ASPxCallbackPanel1" Height="250px" ClientInstanceName="CallbackPanel" RenderMode="Table"> 
         <ClientSideEvents EndCallback="OnEndCallback"></ClientSideEvents> 
         <PanelCollection> 
          <dx:PanelContent ID="PanelContent3" runat="server"> 
</dx:PanelContent> 
         </PanelCollection> 
        </dx:ASPxCallbackPanel> 

你可以看到一個完整的示例代碼here

+0

謝謝你你的答案維克多。這是我正在尋找的一個非常接近的腳本。如示例所示,我不需要在「ASPxListBox」和「ASPxCallbackPanel」中進行數據綁定。我已經在aspx文件中有內容。我將調查是否有類似的解決方案與URL列表項目。 – corry

+0

@很高興知道它有幫助 –