Nonono, nie używaj ="javascript:void(window.open(
.
pierwsze, łamie PDF & raportów Excel,
a po drugie, to nie działa w IE11 i możliwe również < 11.
testowałem go, pracował tylko w Chrome dla mnie.
Po trzecie, bałagan to połączyć.
Istnieje wiele łatwiej & lepsze rozwiązanie:
Dodaj &rc:LinkTarget=_blank
dostępu do zawartości raportu, takich jak:
https://your-domain.com/ReportServer/Pages/ReportViewer.aspx?%2fJPD%2fPO_Dashboard%2fJuvenile_Profile&rs:Command=Render&rc:LinkTarget=_blank
i otworzy się w nowym oknie.
Edit:
Jeśli chcesz mieć własną stronę wyświetlacza:
W ten sposób można uzyskać wszystkie raporty:
USE [ReportServer$MSSQL_2008_R2]
SELECT
[ItemID]
,[Path]
,[Name]
,[ParentID]
FROM [Catalog]
WHERE Type = 2
A to w jaki sposób można wyświetlić wszystkie foldery/Raporty na poziomie x
;WITH CTE AS
(
SELECT
[ItemID]
,[Path]
,[Name]
,[ParentID]
,0 AS lvl
,CAST([Name] AS nvarchar(MAX)) AS RecursivePath
FROM [Catalog]
WHERE [ParentID] IS NULL
UNION ALL
SELECT
[Catalog].[ItemID]
,[Catalog].[Path]
,[Catalog].[Name]
,[Catalog].[ParentID]
,cte.lvl +1 AS lvl
,CAST(cte.RecursivePath + '/' + [Catalog].[Name] AS nvarchar(MAX)) AS RecursivePath
FROM CTE
INNER JOIN [Catalog]
ON [Catalog].ParentID = CTE.ItemID
)
SELECT * FROM CTE
WHERE lvl = 1
ORDER BY lvl, Path
Jeśli chcesz tylko foldery:
WHERE Type = 1
Jeśli chcesz tylko zbiór danych źródła:
WHERE Type = 5
Per Stefan Steiger w odniesieniu do raportów PDF i Excel, można łatwo zamknąć część JavaScript adresu URL w oświadczeniu IIF, które usuwa kod JavaScript, jeśli jest eksportowany do wersji PDF lub Excel za pomocą wbudowanych pól RenderFormat, jeśli używasz SSRS 2008 R2 lub nowszy. Jeśli używasz 2008 lub wcześniej, możesz osiągnąć ten sam wynik z parametrem boolowskim. Jeśli masz pytania dotyczące sposobu, odpowiedz na ten komentarz. –