學習ASP.NET MVC這樣久,在學習,練習與應用過程中,覺得很多知識與以前的ASP.NET多有差別,但是實作操作起來,細處又有許多相近的地方。
本篇跟大家一起學習RDLC報表,是在ASP.NET MVC應用程式中實作。在實作過程中,Insus.NET也将把一些常見的問題列舉與提供解決方法。
首先我們在資料庫準備資料,表,存儲過程等,資料應用以前練習的資料,寫一個存儲過程好了。
在ASP.NET MVC應用程式目錄結構下的Entities下,找到以前寫好的一個Entity,添加一個方法即可:
在應用程式的Reports下,開始建立RDLC報表:
選擇左邊的Table工具,在右邊的Design中,拖下一個表格。
放開mouse左鍵之後,會出現下面的對話框:
如果放開mouse左鍵之後,上面的對話沒有出現,用mouse點選Data表格,如下:
也會出現菜單:
在表格中,選擇需要顯示的字段,并儲存:
接下來,我們建立一個RdlcView.aspx網頁,将用來加左RDLC報表:
在RdlcView.aspx.cs,寫程式:
在控制器中,建立一個Action,其中,可以看到怎樣加載aspx網頁,更多相關練習,可以參考:
建立一個視圖:
我們浏覽看看效果,但在網頁運作時,出現一個異常:
參照Heighlight的部分,添加至Web.config中:
View Code
再次運作,又出現另外一個異常:
解決方法,在References,檢查相關的Microsoft.ReportViewer.Common和Microsoft.ReportViewer.WebForms版本:
回過頭去看看剛才我們拖Reportviewer時,它的版本是什麼:
一個是10版本,另一個是11版本,我們移除References的
使用NuGet安裝相比對的版本:
再次浏覽,成功了:
點選下一頁,又發生一個異常:
錯誤的資訊:
Line: 885
Error: Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 404
解決它,在ScriptManager文法中,清加一個屬性:EnablePartialRendering="false"
點選列印:
它會提示安裝ActiveX:
然後,再顯示,如下對話框:
還可以導出Word,PDF和Excel: