2014-07-08 69 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中使用的報表查看器完全相同。此外,您可以設置憑據,而無需擔心用戶看到它們!