2014-07-08 41 views
0

我正在开发一个c#桌面项目,其中程序中用于显示SSRS报告的模块之一。最佳浏览器控件查看SSRS报告?

流程如下: 用户按下按钮>出现一个表单,用于输入描述&的URL。这两个值然后写入到文本文件中。 用户然后按下第二个按钮,一个新的窗体打开一个WebKit.Net浏览器。页面顶部是一个包含说明的下拉菜单,用户选择描述并按下确定。 - 这然后导航到与该描述关联的网址。

这一切都正常工作与网站,如http://www.google.com

不过,我输入一个SSRS报表管理器URL的那一刻,它倒了。 -IE)它不再导航,没有错误,没有任何东西。只是一个白页。

我SSRS网址是:http://server:8080/Reports_SQLEXPRESS/Pages/Folder.aspx

我明白Webkit.Net是镀铬的包装,所以我已经在Chrome中测试了我的报表管理器,它工作正常。 (我承认一些有限的功能,但足以满足我需要的功能。)

我也试过使用Visual Studio中包含的默认WebBrowser控件 - 但是,当我去下载PDF报表时,我得到一个因为URL的脚本错误:

Http://username:[email protected] 

当然,这是我可以通过我的程序访问报表服务器的唯一途径,因为它使用当前用户的Windows凭据。 - 将使用我的应用程序的用户无权访问报表管理器,因此需要我的网址来包含我的凭据。

有没有合适的包装,我可以用于SSRS?我需要能够运行报告,仅限导航到加载的URL并且能够下载报告。 - 我没有能够写我自己的技能。

private void button1_Click(object sender, EventArgs e) 
    { 
     Address = comboBox1.SelectedValue.ToString(); 
     MessageBox.Show(Address); 
     this.webKitBrowser1.Url = new System.Uri(Address, System.UriKind.Absolute); 

    } 

我也尝试过使用:WebBrowser1.Navigate();函数 - 它仍然不加载报表服务器页面。

+0

NetworkCredentials? –

+0

它不需要它们,我在我的Home RS上进行测试,当它实际上用于需要它们的工作RS时。 – Wills

回答

1

好吧,看起来最好用的东西毕竟不是浏览器!

对于那些偶然遇到过类似问题的人:ReportViewer就是答案!

它是一个预先包含在VS中的控件,(但是,您可能需要将程序集更新到版本11,否则控件将作为一个奇怪的原因添加到组件中......有关如何这样做的详细信息可以找到Here

该控件与SQL Report Manager中使用的报表查看器完全相同。此外,您可以设置凭据,而无需担心用户看到它们!