2016-08-08 65 views
0

我有一個ASPX Web窗體,在它的VB代碼讀取是從名爲.rdl一個目錄中的文件,然後列出它們作爲說一個按鈕或超鏈接等。「報告是本地主機報表服務器上的」Asp.Net,VB,SQL Server Reporting Services ..動態生成的報告從點擊查看報告查看器時查看目錄?

Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load 
Dim FileLocation As DirectoryInfo = _ 
New DirectoryInfo("C:\inetpub\wwwroot\Reports") 

Dim fi As FileInfo() = FileLocation.GetFiles("*.rdl") 

For Each name As FileInfo In fi 
    ' Dim i As Integer 
    Dim listed As New LinkButton 
    ' listed.Attributes("CssClass") = "a" 
    ' listed.Attributes("Class") = "a" 
    listed.Attributes("id") = "listed" 
    listed.Text = (name.Name) 

    mine.Controls.Add(listed) 
    'mine.InnerHtml = "" 
    'i = i + 1 
Next 
End Sub 

另一個有報告查看器。點擊報告時,如何將名稱/值發送給查看者並重定向到它?

非常感謝您

編輯:我必須做出點擊重定向到一個字符串的觀衆,並有觀衆使用該字符串,但那麼多,從來變異香港專業教育學院怎麼試了一下還是錯誤是

項目'salesreport.rdl'的路徑無效。完整路徑長度不得超過260個字符;其他限制適用。如果報表服務器處於純模式,則路徑必須以斜線開頭。 (rsInvalidItemPath)

這是觀衆代碼

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
    If Not Page.IsPostBack Then 
     ' Retrieve parameter from Route "Reports/{reportName}" 
     Dim reportName = Picks.Selecty 

     'Page.Title = reportName 

     ReportViewer1.ProcessingMode = ProcessingMode.Remote 
     Dim serverReport As ServerReport 
     ServerReport = ReportViewer1.ServerReport 
     serverReport.ReportServerUrl = New Uri("http://localhost/reportserver/") 
     serverReport.ReportPath = reportName 
     ' reportName 
     ' 
     ' add parameters here 
     'Dim param As New ReportParameter("name", "value") 
     'serverReport.SetParameters(param) 

     serverReport.Refresh() 

    End If 
End Sub 

回答

0

你可以嘗試以下。

  1. 創建一個新頁面,表示ReportViewer.aspx承載您的ReportViewer控件,該控件接收作爲查詢字符串的.RDL文件的名稱。
  2. 在第一個.aspx頁面中,對於顯示的每個鏈接,將NavigateURL屬性指向ReportViewer.aspx頁面,並將.RDL文件的名稱作爲QueryString傳遞。

希望幫助

感謝, Prawin

+0

非常感謝你回答,Prawin..i不太確定你的意思,但我想我的理解,通過在點擊時鏈接它將顯示的名稱存儲到一個字符串中,並將其與查看器一起發送到頁面,但是我在那裏遇到麻煩了,還有什麼幫助?非常感謝,朋友 – minguscoltrane

+0

忘了提及你@Prawin – minguscoltrane