asp.net – ReportViewer阻止其他功能,直到报告查看器的加载完成
|
这是ReportViewer控件: <form id="reportForm" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" AsyncPostBackTimeout="360000">
</asp:ScriptManager>
<div>
<rsweb:ReportViewer ID="mainReportViewer" runat="server" Width="100%"
Height="100%" SizeToReportContent="True" >
</rsweb:ReportViewer>
</div>
</form>
这是页面背后的代码: protected void Page_Load(object sender,EventArgs e)
{
if (Session["UserInfo"] == null)
{
Response.Redirect("~/account/login",true);
}
string ReportPath = "";
try
{
if (mainReportViewer.Page.IsPostBack) return;
mainReportViewer.ProcessingMode = ProcessingMode.Remote;
mainReportViewer.ServerReport.ReportServerUrl = new Uri(
@"" + ConfigurationManager.AppSettings["ReportServer"].ToString()
);
ReportPath = Convert.ToString(ConfigurationManager.AppSettings["ReportPath"]);
if (!string.IsNullOrEmpty(ReportPath))
{
if (ReportPath.Substring(0,1) == "/")
{
ReportPath = ReportPath.Substring(1,ReportPath.Length - 1);
}
if (ReportPath.Substring(ReportPath.Length - 1,1) != "/")
{
ReportPath = ReportPath + '/';
}
}
else
{
ReportPath = "";
}
ReportPath = ReportPath + Request["Report"].ToString().Split(".".ToCharArray())[0].ToString();
mainReportViewer.ServerReport.ReportPath = @"/" + ReportPath;
ReportParameterCollection parmCol = new ReportParameterCollection();
string sFrom = "";
string sTo = "";
string dateRange = Request["dateRange"].ToString();
string[] obj = dateRange.Split("-".ToCharArray());
if (obj.Length > 1)
{
sFrom = obj[0].ToString();
sTo = obj[1].ToString();
}
else
sFrom = obj[0].ToString();
else if (Request["Report"].ToString().ToUpper() == "SOURCEWISEREPORT_AR.RDL")
{
string[] frommonthyear = sFrom.Split(',');
string[] tomonthyear = sTo.Split(',');
parmCol.Add(new ReportParameter("FromYear",frommonthyear[1]));
parmCol.Add(new ReportParameter("FromMonth",frommonthyear[0]));
parmCol.Add(new ReportParameter("ToYear",tomonthyear[1]));
parmCol.Add(new ReportParameter("ToMonth",tomonthyear[0]));
parmCol.Add(new ReportParameter("lang",Convert.ToString(Session["Culture"])));
}
mainReportViewer.PromptAreaCollapsed = true;
mainReportViewer.AsyncRendering = true;
mainReportViewer.ServerReport.Timeout = System.Threading.Timeout.Infinite;
mainReportViewer.ServerReport.SetParameters(parmCol);
mainReportViewer.ShowParameterPrompts = true;
mainReportViewer.LocalReport.EnableHyperlinks = true;
mainReportViewer.ServerReport.Refresh();
}
catch (Exception ex)
{
CommonFunctions.createLog("Reports : " + ex.Message);
}
}
当我尝试查看报告(这是asp.net mvc中的视图)时,它会在新选项卡中打开以查看报告(这是带有代码文件的aspx页面),并且如果我尝试打开上一个选项卡中的任何链接,则表示在完全加载新选项卡中的报表之前,页面不会加载.我尝试了所有事情,但尚未找到解决方案.需要帮忙 解决方法
您需要分析您的应用程序.很可能您的请求已排队,试图获取用户会话状态的写锁定. 您可以阅读有关问题here的更多信息:
强调我的. 为了缓解这种情况,you can enable or disable session state for individual pages,or declare your usage of session state as “read only”. 注意不要意外选择错误类型的会话状态,但是(启用,禁用,只读).需要正确设置才能使应用程序正常工作. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – asp.net mvc – [HttpPost/HttpGet] vs. [A
- asp.net-mvc – 授权标签如何工作? – Asp.net Mvc
- asp.net-mvc-3 – Paypal Sandbox MVC3
- asp.net – 当绑定值包含冒号时,如何绑定GridView HyperLin
- 如何在ASP.NET MVC应用程序中组织JavaScript代码
- asp.net – ASP .Net Web API下载图像为二进制
- asp.net-mvc-3 – 处理DbContext后的问题
- asp.net – 在会话中存储购物车
- asp.net – 在应用程序级别之外注册为allowDefinition =’M
- asp.net-web-api – 将JSON数组从Javascript传递到Web API
- 如何在ASP.NET应用程序中使用jQuery捕获提交事件
- asp.net – 如何在MVC4 Web API中自定义JSON序列
- 如何在ASP.Net(MVC)中避免XSS漏洞?
- jQuery Ajax方法调用 Asp.Net WebService 的详细
- ASP.NET System.Data.EntityClient连接字符串帮助
- ASP.NET的友好URL
- asp.net – 对于未更改的静态内容,Amazon CloudF
- ASP.NET(.asmx)webservices中的客户端IP地址
- asp.net-mvc – 在Visual Studio 2015中的ASP.NE
- asp.net – CreateUserWizard – 添加步骤,但不要
