I am in the same problem. On clicking a report hyperlink it takes me to the page viewrpt.csp from where it is redirected to viewrpt_viewer.csp. In this last csp page "ProcessHttpRequest" is used to open the report in second stage.
My question is does ProcessHttpRequest method always opens the viewer in same window. I also tried setting the viewer's HyperLinkTarget property to "blank" with no result.
How can I open a hyperlink in a new window??
Any help?
Aurobindo
Here's two pages for your reference
================
VIEWRPT2.CSP
=================
<%@ language=JavaScript codepage=65001%>
<!-- #include file="helper_js.csp" -->
<!-- #include file="checksession_js.csp" -->
<!-- #include file="setcodepage.csp" -->
<!-- #include file="helper_js.csp" -->
<!-- #include file="checksession_js.csp" -->
<!-- #include file="handleerror_js.csp" -->
<%
var Viewer;
var strRedirect;
var GF;
Response.Expires=1;
var iStore = CheckSession(true);
switch(GetSubCookie("eportfolio_prefs","vwr"))
{
case 0:
Viewer = "actx";
break;
case 1:
Viewer = "html_frame";
break;
case 2:
Viewer = "html_page";
break;
case 3:
Viewer = "java";
break;
case 4:
Viewer = "java_plugin"
break;
case 5:
Viewer = "nav_plugin";
break;
default:
Viewer = "html_frame"
break;
}
GF=Request.QueryString.Item('gf');
EnsureImageCleanerIsRunning();
viewer1 = Server.CreateObject( "CrystalReports.CrystalReportViewer" );
viewer1.HyperlinkTarget = "_self";//Auro
var rptSrcFactory = iStore.EnterpriseSession.Service ("", "RASReportFactory");
var oReportClientDoc = rptSrcFactory.OpenDocument(Number(GetSession("RptSrcID")));
var ObjFactory = Server.CreateObject("CrystalReports.ObjectFactory");
var oFilter = ObjFactory.CreateObject("CrystalReports.Filter");
if (String(GF)!="undefined")
{
oFilter.FreeEditingText = GF;
oReportClientDoc.DataDefController.GroupFilterController.Modify(oFilter);
}
Session.Value("oReportClientDoc") = oReportClientDoc;
Session.Value("viewer2") = viewer1;//Auro - Stored the viewer object in Session named viewer2
Response.Redirect("viewrpt2_viewer.csp?gf="+GF);
%>
================
VIEWRPT2_VIEWER.CSP
=================
<%@ language=JavaScript codepage=65001%>
<!-- #include file="helper_js.csp" -->
<!-- #include file="checksession_js.csp" -->
<!-- #include file="setcodepage.csp" -->
<!-- #include file="helper_js.csp" -->
<!-- #include file="checksession_js.csp" -->
<!-- #include file="handleerror_js.csp" -->
<%
var Viewer;
var strRedirect;
var GF;
Response.Expires=1;
var iStore = CheckSession(true);
//Adding code for removing the caching problem Incedence #: 2026097
Response.Expires = 0;
Response.Expiresabsolute = -1;
Response.AddHeader("pragma","no-cache");
Response.AddHeader("cache-control", "private");
Response.CacheControl = "no-cache";
//End of addition for caching problem
GF=Request.QueryString.Item('gf');
EnsureImageCleanerIsRunning();
// viewer1 = Server.CreateObject( "CrystalReports.CrystalReportViewer" );//Auro comment
viewer1 = Session.Value("viewer2");
Response.Write(viewer1.HyperlinkTarget);
//Response.End();
//Determine whether to open in new window or not Report B (false) new window, Report A (true) same window
//Response.Write("Total Number of Groups " + String(Session.Value("oReportClientDoc").DataDefController.DataDefinition.Groups.Count));
//viewinfo1 = Server.CreateObject( "CrystalReports.CrystalReportViewInfo" );
//Response.Write("<BR>" + "Current GroupLevels " + String(viewinfo1.GroupLevel));
//Response.Write("<BR>" + "Current GroupName " + String(viewinfo1.GroupName));
//Response.Write("<BR>" + "Current GroupNamePath " + String(viewinfo1.GroupNamePath));
//Response.Write("<BR>" + "Current GroupPath " + String(viewinfo1.GroupPath));
//Response.End();
//if (Session.Value("WindowType") == 'True')
//{
// viewer1.HyperlinkTarget = "_self";
//Response.Write(viewer1.HyperlinkTarget)
//Response.End();
//}
//else
//{
// viewer1.HyperlinkTarget = "_blank";
//Response.Write(viewer1.HyperlinkTarget)
//Response.End();
//}
//End of determining the window type
viewer1.ReportSource = Session.Value("oReportClientDoc").ReportSource;
if(String(GF)!="undefined")
{
viewer1.ViewTimeSelectionFormula=GF;
viewer1.SelectionFormula=GF;
viewer1.URI="viewrpt2_viewer.csp?gf="+GF;
}
viewer1.IsOwnForm = true;
viewer1.IsOwnPage = true;
viewer1.IsDisplayGroupTree = false;
viewer1.PageToTreeRatio = 5.0;
viewer1.IsDisplayToolbar = true;
viewer1.IsDisplayPage = true;
viewer1.HasRefreshButton = true;
viewer1.ParameterFields = Session.Value("Parameters"); //Added on 21 sept 04 for ondemand report input screen
//viewer1.ProcessHttpRequest(Request, Response, Session );
%>