我有个很奇怪的情况。我在ASP.NET中使用一个ASP.NET控件在aspx页面中显示报告。当我用VS2008构建我的网站时,这很好。但是当我将Report Viewer控件添加到VS2010中的页面时会出错.
我在ReportViewer in VS2010中遇到的问题是,它不断刷新我的报告。当我查看从该页面发送的网络流量时,我可以清楚地看到,ReportViewer不断地发送一个新的请求来获取报告。我不知道它为什么会这样,只在VS2010.
但是,只有当我试图向报告中添加一个参数时,才会发生这种情况。
这就是我的代码的样子:
VS2008
<rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana"
Font-Size="8pt" Height="642px" ProcessingMode="Remote" Width="896px">
<ServerReport ReportPath="http://server.com/Product/Dashboards/test.rdl"
ReportServerUrl="http://server.com/ReportServer" />
</rsweb:ReportViewer>VS2010
<rsweb:ReportViewer ID="ReportViewer1" runat="server"
ProcessingMode="Remote" Width="948px" Font-Names="Verdana" Font-Size="8pt"
WaitMessageFont-Names="Verdana"
WaitMessageFont-Size="14pt">
<ServerReport ReportPath="http://server.com/Product/Dashboards/test.rdl"
ReportServerUrl="http://server.com/ReportServer" />
</rsweb:ReportViewer>代码背后
对于VS2008和VS2010,我的Page_Load中有以下代码
ReportParameter[] reportParameters = new ReportParameter[1];
reportParameters[0] = new ReportParameter("year", "2012", true);
ReportViewer1.ServerReport.SetParameters(reportParameters);
ReportViewer1.ServerReport.Refresh();为什么当我添加参数时,VS2010会出现问题,例如:为什么它会不断刷新我的报告?为什么这在VS2008中运行得很好呢?
发布于 2013-10-11 15:27:45
这可能是您遇到的问题:报告从未停止使用VS 2010加载。
显然,在打电话给IsPostBack之前,您需要检查一下SetParameters。
发布于 2015-07-15 15:37:56
我知道这是旧的,但是对于那些还在寻找的人来说,我在ReportViewer2012中遇到了这个问题,并通过检查后面代码中的帖子来解决这个问题。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// Your code behind code here
}
}https://stackoverflow.com/questions/14501972
复制相似问题