• <menu id="w2i4a"></menu>
  • logo 報表生成器FastReport .Net程序員手冊
    文檔首頁>>報表生成器FastReport .Net程序員手冊>>報表生成器FastReport .Net程序員手冊:如何使用ASP.NEТ MVC

    報表生成器FastReport .Net程序員手冊:如何使用ASP.NEТ MVC


    FastReport .Net是適用于Windows Forms,ASP.NET,MVC和.NET Core的全功能報表解決方案。它可以在Microsoft Visual Studio 2005-2019中使用。支持.Net Framework 2.0-4.x,.NET Core 3.0及以上版本。

    在FastReport .NET 2021.1的新版本中,我們實現了對.NET 5的支持。添加了新條形碼-Deutsce Post Leitcode。將RTF轉換為報告對象的算法已得到顯著改進。并且還添加了用于轉換數字的新功能。歡迎下載體驗。(點擊下方按鈕下載)

    立即點擊下載FastReport.NET v2021.1最新版

    Fastreport.NET在線購買價更低,專享85折起!趕緊加入購物清單吧!

    在 "Medium Trust "模式下工作

    這種模式被許多共享主機提供商使用。在此模式下,以下操作受到限制:

    • 報告編譯是不可能的。
    • 不可能使用MS Access數據源。
    • 不可能使用RichObject,不可能使用一些使用WinAPI調用或臨時文件(臨時文件)的導出過濾器。
    • 無法使用一些使用WinAPI調用或臨時文件(PDF,Open Office)的導出過濾器。
    • 根據提供者的不同,可能還有其他限制。
    要在這種模式下使用報表,您需要將報表存儲為C#/VB.NET類,如 "存儲和加載報表 "部分所述。在這種情況下,不需要編譯報表。

    除此之外,還需要在GAC中添加System.Windows.Forms.DataVisualization.dll程序集。這個程序集是Microsoft Chart Control的一部分,在FastReport中用于繪制圖表。請咨詢您的共享托管提供商關于將此程序集添加到 GAC 中的問題。

    在Web Farm和Web Garden架構中工作 

    要在多服務器(Web Farm)或多處理器(Web Garden)架構中使用 FastReport 報表生成器,還需要為 WebReport 對象之間的數據同步創(chuàng)建特殊存儲。
    在配置文件web.config中添加以下行。

    <appSettings>
    <add key="FastReportStoragePath" value="\FS/WebReport_Exchange"/>
    <add key="FastReportStorageTimeout" value="10"/>
    <add key="FastReportStorageCleanup "value="1/>
    </appSettings>
    - FastReportStoragePath:在多服務器架構中工作時,臨時文件文件夾的路徑,每臺服務器必須能夠訪問這個文件夾。
    - FastReportStorageTimeout:報告的緩存時間,以分鐘為單位。
    - FastReportStorageCleanup:檢查過期緩存條目的時間,以分鐘為單位。
    通過URL檢查配置是否正確。
    http://yoursite/app_folder/FastReport.Export.axd
    你應該看到 "Cluster mode: ON".

    使用ASP.NEТ MVC

    當您在ASPX(MVC 2)中使用WebReport時,您不會有任何問題--只需要將控件從工具箱中拖到頁面上。WebReport會自動對web.config進行所有必要的修改。讓我們來看一個ASPX中的WebReport演示,可以在文件夾 \Demos\C#\MvcDemo中找到。

    要在Razor(MVC 3,4)中使用WebReport,你需要在web應用程序根目錄下的web.config文件中添加一行處理程序定義。

    在<system.web> <httpHandlers>部分添加這一行,以便與IIS6一起使用。

    <add path="FastReport.Export.axd" verb="*" type="FastReport.Web.Handlers. WebExport" />

    并在<system.webServer><handlers>部分添加這一行,以便與IIS7一起使用。

    <add name="FastReportHandler" path="FastReport.Export.axd" verb="*" type="FastReport.Web.Handlers.WebExport" />

    然后修改包含Views文件夾中的web.config文件。在section<system.web.webPages.razor> <namespaces>中添加這些行。

    <add namespace="FastReport" />
    <add namespace="FastReport.Web" />

    在文件_Layout.cshtml的<head>標簽中添加這幾行。

    @WebReportGlobals.Scripts()
    @WebReportGlobals.Styles()

    現在你可以在視圖上繪制報表了。進入控制器并創(chuàng)建一個WebReport。

    WebReport webReport = new WebReport(); // 創(chuàng)建對象
    webReport.Width = 600; //設置寬度
    webReport.Height = 800; //設置高度
    webReport.Report.RegisterData(dataSet, "AppData"); // 數據綁定
    webReport.ReportFile = this.Server.MapPath("~/App_Data/report.frx"); //從文件中加載報表
    ViewBag.WebReport = webReport; //發(fā)送對象到View上
    進入 "視圖",添加這一行:
    @ViewBag.WebReport.GetHtml()
    類似的創(chuàng)建WebReport的代碼你也可以直接在View中寫。

    我們來看一下Razor中WebReport的演示,文件夾為\Demos\C#\MvcRazor。有各種加載到報表中的樣本,包括預先準備的,還有一個使用StartReport事件的例子。

    不要忘記在bin目錄下添加缺少的dll。

    MVC中的導出示例

    當將FastReport.Net與ASP.Net MVC框架一起使用時,有一個簡單的方法可以在HTML表單上按按鈕創(chuàng)建任何支持格式的文件。
    在視圖中添加以下代碼。

    @using (Html.BeginForm("GetFile", "Home"))
    {
    <input id="pdf" type="submit" value="Export to PDF" />
    }
    - GetFile : 控制器處理程序的名稱
    - Home:控制器名稱(例如:HomeController.cs)

    在控制器中添加名稱空間。

    using FastReport.Export.Pdf;
    在控制器中添加方法GetFile。
    public FileResult GetFile()
    {
    WebReport webReport = new WebReport();
    // bind data
    System.Data.DataSet dataSet = new System.Data.DataSet();
    dataSet.ReadXml(report_path + "nwind.xml");
    webReport.Report.RegisterData(dataSet, "NorthWind");
    // load report
    webReport.ReportFile = this.Server.MapPath("~/App_Data/report.frx");
    // prepare report
    webReport.Report.Prepare();
    // save file in stream
    Stream stream = new MemoryStream();
    webReport.Report.Export(new PDFExport(), stream);
    stream.Position = 0;
    // return stream in browser
    return File(stream, "application/zip", "report.pdf");
    }
    Excel 2007的例子。
    using FastReport.Export.OoXML;
    ...
    webReport.Report.Export(new Excel2007Export(), stream);
    ...
    return File(stream, "application/xlsx", "report.xlsx");
    FastReport.Net和jQuery

    FastReport.Net的WebReport對象使用了jQuery庫。你可能已經在你的項目中使用了這個庫。

    為了避免在客戶端瀏覽器中重復使用jQuery引導腳本和樣式,當使用markup Razor時,你必須在_Layout.cshtml中使用以下行。

    @WebReportGlobals.ScriptsWOjQuery()
    @WebReportGlobals.StylesWOjQuery()

    替換這些行,其中包括所有jQuery文件:

    @WebReportGlobals.Scripts()
    @WebReportGlobals.Styles()

    當使用ASPX標記時,您必須設置ExternalJquery = true(默認為false)。

    還想要更多嗎?您可以點擊閱讀【FastReport 報表2020最新資源盤點】,查找需要的教程資源。讓人興奮的是FastReport .NET報表正在慧都網火熱銷售中!低至3701元起!>>查看價格詳情

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();