2013-01-16 81 views
5

我仍然不確定最好的解決方法。MVC 4中的ReportViewer 4部分

我已經閱讀了大量的資源,但仍然沒有接近可行的解決方案。

  1. 我創建了一個部分ASCX文件。新增了Report viewer,然後在我的CSHTML文件中渲染了部分內容。這是我最接近的。我可以看到報告查看器,按鈕等。但由於某些原因,數據從不顯示。

  2. 我試過了ASPX頁面裏面的一個IFrame但是這不是我想去的方式,關於使這個解決方案工作。

  3. 直接加載ASPX頁面。但我失去了我的_Layout.cshtml主頁風格。

有些人建議更改config/Global.asax中的各種東西,有些人甚至認爲它不是必需的。

理想情況下,我想把它作爲頁面中的一部分。但如果我保留我的主佈局,可以處理它是頁面上唯一的事情。

我以前的語法/ pages/non-MVC的經驗僅限於這個項目 - 試圖讓它工作。

我的數據通過組件設置進行鏈接。 aspx頁面中的連接工作正常,如單頁或iframe。但不是在ascx。

+0

你是如何加載你的部分數據? (#1嘗試) –

+0

@dennisrongo我嘗試了各種各樣的方式。大多數圍繞創建數據集和綁定 – Doomsknight

回答

8

ReportView控件需要啓用ViewState。在ASP.NET MVC中,這種概念不再存在。這意味着您不能在本機ASP.NET MVC視圖或部分內部使用此控件。只能在經典的WebForm(不在ASP.NET MVC視圖中)中使用它,並將此WebForm嵌入到當前ASP.NET MVC視圖或部分內的iframe中。例如,您可以將報表呈現爲圖片,並直接將其轉換爲響應而不使用此控件。這是一個blog post,它說明了這項技術。因此,您可以使用控制器操作將報告生成爲JPEG圖像,然後使用<img>標記鏈接到您的視圖中的此控制器操作。不幸的是,這隻會生成報告的靜態副本,用戶無法與其交互。

您可能還會檢出this blog post,它說明如何可以並排運行ASP.NET MVC和經典的WebForms。

+0

嗨,我想問問題,我檢查博客帖子代碼,我不解決我的問題的解決方案。當我點擊搜索按鈕,我正在篩選和查看數據在mvc頁面。之後,當用戶按下reportbutton我想要路由我的搜索dto到aspx頁面我如何不使用會話做到這一點? – altandogan

+0

@Darin,如果您使用的是LocalReport並綁定數據服務器端,那麼您可以使用ReportView控件,因此「..,您不能在本機ASP.NET MVC視圖中使用此控件...」並非完全正確。 – David