DevExpress CallbackPanel永远需要加载数据

时间:2016-08-20 17:37:29

标签: asp.net devexpress

我在母版页的子页面中有一个用户控件,我需要根据复选框的选中状态显示一个面板。

我可以使用jQuery来实现这一点,但我需要Ajax。现在,如果您熟悉DX CallbackPanel,您就会知道此控件就像ASP.NET更新面板一样。

当我选中我的复选框时,我调用了一个调用CallbackPanel.PerformCallback()函数的JavaScript函数,而这个函数就是这样做的。

这是我的用户控件:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="dx_auto_saxs_sales.ascx.cs" Inherits="bime.shokri.v1._0._1.Forms.dx_auto_saxs_sales" %>
<%@ Register Assembly="DevExpress.Web.v15.2, Version=15.2.10.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web" TagPrefix="dx" %>
<script type="text/javascript">
var CallbackInQue = false;
function CheckBoxBimeSalQabl_CheckedChanged(s,e)
{
    if (ASPxCallbackPanel.InCallback())
        CallbackInQue = true;
    else
        ASPxCallbackPanel.PerformCallback();
}
function  OnEndCallback(s,e)
{
    if(CallbackInQue)
    {
        ASPxCallbackPanel.PerformCallback();
        CallbackInQue = false;
    }
}
</script>

<dx:ASPxCheckBox ID="ASPxCheckBox2" runat="server" Theme="MetropolisBlue" Text="بیمه نامه سال قبل دارد" Font-Names="yekan" CheckState="Unchecked" ClientInstanceName="ChechBoxBimeSalQabl">
            <ClientSideEvents CheckedChanged="CheckBoxBimeSalQabl_CheckedChanged" />
</dx:ASPxCheckBox>

<dx:ASPxCallbackPanel ID="ASPxCallbackPanel" runat="server" ClientInstanceName="ASPxCallbackPanel">

    <SettingsLoadingPanel Text="صبر کنید&amp;hellip;" />

    <ClientSideEvents EndCallback="OnEndCallback" />

    <PanelCollection>
        <dx:PanelContent runat="server">
            <asp:Panel runat="server" ID="pnl_formerBimeName">
                <div class="three fields">
                    <div class="field">
                        <label>تعداد سال های تخفیف  <span style="color: #c66050">●</span></label>
                        <dx:ASPxComboBox ID="ASPxComboBox7" runat="server" ValueType="System.String" BackColor="#efefef" CssClass="round-corner-control" Theme="MetropolisBlue" Font-Names="yekan" NullText="انتخاب کنید" Width="90%">
                            <Items>
                                <dx:ListEditItem Text="1 سال عدم خسارت" Value="0" />
                            </Items>
                        </dx:ASPxComboBox>
                    </div>
                </div>
            </asp:Panel>
        </dx:PanelContent>
    </PanelCollection>
</dx:ASPxCallbackPanel>

目的是在选中CheckBox时显示Panel(pnl_formerBimeName)

现在这是我的Page_Load(sender,object)方法,当选中Checkbox时,该方法称为异步:

protected void Page_Load(object sender, EventArgs e)
    {
        pnl_formerBimeName.Visible = ASPxCheckBox2.Checked;
    }

在将我的网站部署到我的服务器之前,一切正常。之后,当我选中“正在加载...”复选框时,文本会出现并永远完成。我真的不知道为什么。

万一你想知道这个问题在行动中,我会给你提到的页面here

0 个答案:

没有答案