报表设计器 Stimulsoft 如何实现对 Razor Pages 的支持?

发布时间 : 2023-03-13 11:29:44.817|阅读 57 次

概述:​Stimulsoft Reports and Dashboards 2023 第一版的新功能之一是支持在 Reports.WEB 和 Dashboards.WEB 产品中使用 Razor Pages 。在本文中,我们将向您介绍更多相关信息。

相关链接:

Stimulsoft Ultimate是用于创建报表和仪表板的通用工具集。该产品包括用于WinForms、ASP.NET、.NET Core、JavaScript、WPF、PHP、Java和其他环境的完整工具集。

Stimulsoft Ultimate官方正版下载

Stimulsoft Reports and Dashboards 2023 第一版的新功能之一是支持在 Reports.WEB 和 Dashboards.WEB 产品中使用 Razor Pages 。在本文中,我们将向您介绍更多相关信息。

什么是 Razor 页面?
Razor Pages 功能于 2019 年出现在 ASP.NET Core 平台上。本质上,Razor Pages 是一个由标准标记和后端类组成的页面,后端类既充当模型又充当控制器。此功能支持您使用 Razor 代码创建页面并处理请求。
换句话说,Razor Pages 与 Web 表单非常相似,代表了创建应用程序(主要是小型应用程序)的替代解决方案。
发生了什么变化?
对于Reports.WEB和Dashboards.WEB产品 中包含的 ASP.NET Core 组件,我们添加了使用 Razor Pages 创建的 Web 应用程序和项目的功能。在创建的项目中,所有用于创建、显示和转换报告和仪表板的工具都将可用,组件的所有现有选项和设置都可用,并且能够使用服务器端代码构建和导出报告。
怎么运行的?
在 2023.1 版本之前,我们的 ASP.NET Core 组件只能使用 MVC 技术,这自然有利也有弊。为了比较,要使用 MVC 在网页上显示组件,必须在 View 上定义组件标记及其选项,然后在Controller中定义所有必要的操作,如果有必要,在Model中定义数据结构:

看法:

@Html.StiNetCoreViewer(new StiNetCoreViewerOptions()
{  Actions =  {  GetReport = "GetReport",  ViewerEvent = "ViewerEvent"  }
})

控制器:

public IActionResult GetReport()
{  var report = new StiReport();  report.LoadDocument(StiNetCoreHelper.MapPath(this, "Reports/SimpleList.mdc"));  return StiNetCoreViewer.GetReportResult(this, report);
}

public IActionResult ViewerEvent()
{  return StiNetCoreViewer.ViewerEventResult(this);
}

使用 Razor Pages 技术时,所有代码都可以放在一个页面上,并且定义 GET 和 POST 请求的事件而不是控制器操作。例如,用于部署我们的组件的相同代码如下所示:

@Html.StiNetCoreViewer(new StiNetCoreViewerOptions()
{  Actions =  {  GetReport = "GetReport",  ViewerEvent = "ViewerEvent"  }
})

public IActionResult OnPostGetReport()
{  var report = new StiReport();  report.LoadDocument(StiNetCoreHelper.MapPath(this, "Reports/SimpleList.mdc"));  return StiNetCoreViewer.GetReportResult(this, report);
}

public IActionResult OnGetViewerEvent()
{  return StiNetCoreViewer.ViewerEventResult(this);
}

public IActionResult OnPostViewerEvent()
{  return StiNetCoreViewer.ViewerEventResult(this);
}
Razor Pages 的代码具有非常相似的结构,但存在一些差异:
  • 使用请求处理事件代替动作;
  • 页面对象不是控制器,而是传递给结果函数;
  • 事件的名称是请求类型的标准前缀,可以是OnGet,也可以是OnPost,以及组件设置中设置的事件名称。
与 MVC 技术一样,结果函数返回所需的响应,具体取决于查看器所需的事件。因此,一般来说,该组件的功能保持不变,它同样支持这两种技术。
附加信息

我们已尝试尽可能简化组件的部署并保持与以前版本的兼容性,因此切换到 Razor Pages 不需要进行重大代码更改。我们更新了文档并添加了许多示例。我们希望所有这些都将显着简化组件到您的应用程序的集成,并且在从 MVC 切换到 Razor Pages 的情况下,不会造成任何困难。

想要了解 Stimulsoft Ultimate 报价信息的朋友,欢迎咨询慧都官方客服

加入官方社群 740060302,欢迎相互交流


在线
客服
微信
QQ 电话
023-68661681
返回
顶部