加载Crystal Report时页面会刷新

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了加载Crystal Report时页面会刷新相关的知识,希望对你有一定的参考价值。

我正在开发一个Asp.net项目,我们有一些接口来加载相应的报告。

我的html代码如下:

<form id="form1" runat="server">

    <div>
         /*----html code for selecting parameters----*/

         <asp:Button Text="Submit"  AutoPostBack="False" CssClass="btn btn-primary" runat="server" ID="btnSubmit" OnClientClick="javascript:return Validate()" OnClick="btnSubmit_Click" />
         /*----Button to check validity and load report----*/

    </div>

    /*----Some html codes----*/

    <CR:CrystalReportViewer ID="CRViewer" runat="server" AutoDataBind="true" EnableParameterPrompt="False" ReuseParameterValuesOnRefresh="True" ToolPanelView="None" EnableDatabaseLogonPrompt="False" HasCrystalLogo="False" HasToggleGroupTreeButton="False" HasToggleParameterPanelButton="False" HasDrilldownTabs="False" HasDrillUpButton="False" HasRefreshButton="True" HasPageNavigationButtons="True" HasPrintButton="True" DisplayToolbar="True" />
    /*----this is where report get loaded----*/



</form>

选择参数并单击“提交”按钮后,将加载报告,但会重新加载页面并重置所有参数。

如何防止参数重置?

答案

要防止整个页面重新加载,您需要使用updatepanel进行部分回发。

这个例子看起来像这样

<asp:UpdatePanel ID="UpdatePanel" runat="server>
    <ContentTemplate>
   <CR:CrystalReportViewer ID="CRViewer" runat="server" AutoDataBind="true" EnableParameterPrompt="False" ReuseParameterValuesOnRefresh="True" ToolPanelView="None" EnableDatabaseLogonPrompt="False" HasCrystalLogo="False" HasToggleGroupTreeButton="False" HasToggleParameterPanelButton="False" HasDrilldownTabs="False" HasDrillUpButton="False" HasRefreshButton="True" HasPageNavigationButtons="True" HasPrintButton="True" DisplayToolbar="True" />   
   </ContentTemplate>
   <Triggers>
      <asp:AsyncPostBackTrigger ControlID="btnSubmit" />
   </Triggers>
</asp:UpdatePanel>

使按钮成为updatepanel的触发器意味着如果您按下按钮,则只更新updatepanel内的部分将重新加载,这样您就不会丢失任何值

以上是关于加载Crystal Report时页面会刷新的主要内容,如果未能解决你的问题,请参考以下文章

解决方案:从C#app调用Crystal Report导致“数据库登录失败”或“加载报告失败”

Crystal Report - vs 2003 项目的加载报告失败

Crystal Report:如果detail部分为null,则跳过页面

Crystal Report - 从子报告中打印信息

C# Winforms Crystal Report Viewer 的新形式

在 ASP.NET 中打开 Crystal Report 时出错