0

我想在 devexpress 回调面板中使用 Ext.Net 控件。当页面首先呈现时,一切正常,Ext 控件很好。但是,当您使用 Ext Controls 函数刷新回调面板时,它就会PerformCallback()消失。解决办法是什么?

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="devex_ext._default" %>

<%@ Register Assembly="DevExpress.Web.v10.2, Version=10.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
    Namespace="DevExpress.Web.ASPxCallbackPanel" TagPrefix="dx" %>
<%@ Register Assembly="DevExpress.Web.v10.2, Version=10.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
    Namespace="DevExpress.Web.ASPxTabControl" TagPrefix="dx" %>
<%@ Register Assembly="DevExpress.Web.v10.2, Version=10.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
    Namespace="DevExpress.Web.ASPxClasses" TagPrefix="dx" %>
<%@ Register Assembly="DevExpress.Web.v10.2, Version=10.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
    Namespace="DevExpress.Web.ASPxCallbackPanel" TagPrefix="dx" %>
<%@ Register Assembly="DevExpress.Web.v10.2, Version=10.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
    Namespace="DevExpress.Web.ASPxPanel" TagPrefix="dx" %>

<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <ext:ResourceManager ID="ResourceManager1" runat="server" />

    <div style="clear:both">

    <dx:ASPxCallbackPanel ID="ASPxCallbackPanel2" ClientInstanceName="cp" runat="server" Width="200px">
        <PanelCollection>
            <dx:PanelContent ID="PanelContent2" runat="server">
                <dx:ASPxPageControl ID="ASPxPageControl2" runat="server">
                    <TabPages>
                        <dx:TabPage  Text="Ext Linkbutton">
                            <ContentCollection>
                                <dx:ContentControl ID="ContentControl1" runat="server">
                                    <ext:LinkButton ID="Linkbutton1" runat="server" Text="Linkbutton">
                                        <Listeners>
                                            <Click Handler="Ext.Msg.alert('Clicked', 'LinkButton');" />
                                        </Listeners>
                                    </ext:LinkButton>
                                </dx:ContentControl>
                            </ContentCollection>
                        </dx:TabPage>
                        <dx:TabPage  Text="Asp Button">
                            <ContentCollection>
                                <dx:ContentControl ID="ContentControl2" runat="server">
                                    <asp:Button ID="Button1" runat="server" Text="Button" />    
                                </dx:ContentControl>
                            </ContentCollection>
                        </dx:TabPage>
                    </TabPages>
                </dx:ASPxPageControl>
            </dx:PanelContent>
        </PanelCollection>
    </dx:ASPxCallbackPanel>

    <ext:LinkButton ID="LinkButton2" runat="server" Text="Refresh">
        <Listeners>
            <Click Handler="cp.PerformCallback()" />
        </Listeners>
    </ext:LinkButton>

    </div>
    </form>
</body>
</html>
4

2 回答 2

0

此代码不起作用,因为您没有指定ASPxCallbackPanel.ClientInstanceName属性(并且没有启用客户端编程对象)。

如下修改您的标记:

<dx:ASPxCallbackPanel ... ClientInstanceName="cp">


<Click Handler="cp.PerformCallback()" />

查看演示如何使用 ASPxCallbackPanel 容器的演示。

于 2012-02-10T17:37:17.207 回答
0

如果您在回调后不运行 javascript,请使用 javascript 前缀“dxis_”,请查看此主题

您可以添加,例如具有特定 id 的 div,然后运行创建 ExtJS 控件的脚本,该配置包含 renderTo: 'specific di'

于 2015-10-13T07:53:11.783 回答