在.net mvc模式下,怎么在前端页面做到点击打印按钮调对应的fastreport报表

碎了一地阳光 2019-12-20 10:08:45

上图是我在c/s模式下传参数调用fastreport报表,显示正常

下面是我打算在web页面点击打印按钮实现调用该报表,代码还是之前c/s模式下的代码,点击打印按钮,程序会报错,然后报表显示这出来,请问下在mvc模式下要怎么写打印按钮的代码
...全文
543 20 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
陪风聊雨123 2019-12-26
  • 打赏
  • 举报
回复
引用 9 楼 碎了一地阳光 的回复:
[quote=引用 7 楼 Hello World, 的回复:]
建议你用lodop,可以打印指定的网页,内容根据参数生成即可。

即使用Fastreport也是生成网页,然后客户端打印的,不是在服务器上去打印

我看了下lodop插件,他这个好像比较麻烦,格式全在代码里面写的,不太适合开发与实施分开。。[/quote]

也可以试试highreport报表,是纯C#开发的h5报表,完成支持实施人员零代码实施报表
Hello World, 2019-12-25
  • 打赏
  • 举报
回复
看看这两个地方的配置有没有

Hello World, 2019-12-25
  • 打赏
  • 举报
回复
Hello World, 2019-12-25
  • 打赏
  • 举报
回复
我试了2018版本,测试官方的代码是可以运行的,不知道是不是你的web.config配置里没有加上下面这项:
<handlers>
<add name="FastReportHandler" path="FastReport.Export.axd" verb="*" type="FastReport.Web.Handlers.WebExport"/>
</handlers>
Hello World, 2019-12-25
  • 打赏
  • 举报
回复
示例就是你给的链接那个照着做的啊,在MvcRazor里面添加一个页面和两个方法就好了。
你先用加载xml试下,如果可以成功的话就是数据源的问题了吧。
碎了一地阳光 2019-12-25
  • 打赏
  • 举报
回复
引用 16 楼 Hello World, 的回复:

您好,想问下你这个是那个demo里面的,为啥我没找到
碎了一地阳光 2019-12-25
  • 打赏
  • 举报
回复
引用 17 楼 Hello World, 的回复:
看看这两个地方的配置有没有


奇了怪了,我也是按照他们官方的写法,只不过dataset是从数据库获取的,不知道为什么会这样。。。
碎了一地阳光 2019-12-24
  • 打赏
  • 举报
回复
13 楼 Hello World, 的回复:
Controller里不能直接PrintHtml(),要返回ViewBag什么的,前端再GetHtml():


您好,可以加下你QQ吗?我这边要实现的功能和你发的不太一样,要在web页面点击打印按钮,然后根据传递的参数调这张报表打印不同的数据,他们官网https://www.fastreportcn.com/post/1897.html也是这样写的
Hello World, 2019-12-24
  • 打赏
  • 举报
回复
Controller里不能直接PrintHtml(),要返回ViewBag什么的,前端再GetHtml():

碎了一地阳光 2019-12-24
  • 打赏
  • 举报
回复
引用 3 楼 Hello World, 的回复:
要使用WebReport,类似以下:
public void Print()
{
WebReport webReport = new WebReport();
System.Data.DataSet dataSet = new System.Data.DataSet();
dataSet.ReadXml("C://Program Files (x86)//FastReports//FastReport.Net//Demos//Reports//nwind.xml");
webReport.Report.RegisterData(dataSet, "NorthWind");
webReport.Report.Load("C://Program Files (x86)//FastReports//FastReport.Net//Demos//Reports//Simple List.frx");
webReport.EmbedPictures = true;
webReport.PrintHtml();
}

你好,我参照官网的案例,每次都是在webReport.PrintHtml();不能实例化
碎了一地阳光 2019-12-23
  • 打赏
  • 举报
回复
引用 8 楼 秋的红果实 的回复:
在视图页面点击按钮,从后台取数据,填充到页面
页面打印推荐adobe打印插件
或者直接用js调用window.print();

cs/bs差别大了
不适合目前的项目。。
碎了一地阳光 2019-12-23
  • 打赏
  • 举报
回复
引用 7 楼 Hello World, 的回复:
建议你用lodop,可以打印指定的网页,内容根据参数生成即可。

即使用Fastreport也是生成网页,然后客户端打印的,不是在服务器上去打印

我看了下lodop插件,他这个好像比较麻烦,格式全在代码里面写的,不太适合开发与实施分开。。
Hello World, 2019-12-23
  • 打赏
  • 举报
回复
安装完fastreport之后自带有相关的示例,可以打开项目参考
秋的红果实 2019-12-22
  • 打赏
  • 举报
回复
在视图页面点击按钮,从后台取数据,填充到页面 页面打印推荐adobe打印插件 或者直接用js调用window.print(); cs/bs差别大了
Hello World, 2019-12-21
  • 打赏
  • 举报
回复
建议你用lodop,可以打印指定的网页,内容根据参数生成即可。

即使用Fastreport也是生成网页,然后客户端打印的,不是在服务器上去打印
碎了一地阳光 2019-12-20
  • 打赏
  • 举报
回复
求大佬指导下,非常感谢
碎了一地阳光 2019-12-20
  • 打赏
  • 举报
回复
可以加我QQ看下吗,3068516469
正怒月神 版主 2019-12-20
  • 打赏
  • 举报
回复
你看report是不是为null了。这个调试完。 我们在讨论是不是 Server.MapPath的路径正确问题
碎了一地阳光 2019-12-20
  • 打赏
  • 举报
回复
官方说的和我要实现的功能不一样,我要做的是点击打印按钮,然后传参数打出不同数据的报表
Hello World, 2019-12-20
  • 打赏
  • 举报
回复
要使用WebReport,类似以下:
public void Print()
{
WebReport webReport = new WebReport();
System.Data.DataSet dataSet = new System.Data.DataSet();
dataSet.ReadXml("C://Program Files (x86)//FastReports//FastReport.Net//Demos//Reports//nwind.xml");
webReport.Report.RegisterData(dataSet, "NorthWind");
webReport.Report.Load("C://Program Files (x86)//FastReports//FastReport.Net//Demos//Reports//Simple List.frx");
webReport.EmbedPictures = true;
webReport.PrintHtml();
}

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧