2016-08-08 67 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