首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用UpdatePanel控件只刷新内容

问使用UpdatePanel控件只刷新内容
EN

Stack Overflow用户
提问于 2017-10-06 07:21:41
回答 1查看 689关注 0票数 0

是否可以使用UpdatePanel控件在左侧面板(菜单)中导航?在Main.master中有左菜单

代码语言:javascript
复制
<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控件只使用刷新内容

代码语言:javascript
复制
<div class="contentPane">
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" updatemode="conditional">
        <ContentTemplate>
            <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server" />
        </ContentTemplate>
    </asp:UpdatePanel>
</div>

但是它不起作用;当浏览菜单时,标题和菜单仍然重新加载。

内容1.aspx和Content2.aspx文件在<asp:content>标记中只有一个通常的内容

代码语言:javascript
复制
<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>
EN

回答 1

Stack Overflow用户

发布于 2017-10-06 13:43:48

我想知道为什么您要使用UpdatePanel --这是请求吗?我将使用一个ASPxCallbackPanel,它是很好的替代UpdatePanel,而且您可以使用它,因为您使用的是DevExpress控件。

代码语言:javascript
复制
<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>

您可以看到完整的示例代码这里。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46600363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档