This is a ReportViewer control:
<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>
This is the code behind the page:
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); } }
When I try to view a report (which is a view in asp.net mvc), it opens in a new tab to view the report (which is an aspx page with a code file) and means that if I try to open any link from the previous tab, the page does not load, until the report in a new tab is fully loaded. I tried to do everything, but no solution has been found yet. Need help
rohit singh
source share