找回密码
 立即注册

QQ登录

只需一步,快速开始

rjsoft

金牌服务用户

17

主题

55

帖子

166

积分

金牌服务用户

积分
166

微信认证勋章

rjsoft
金牌服务用户   /  发表于:2023-9-1 15:43  /   查看:2307  /  回复:5
本帖最后由 rjsoft 于 2023-9-1 16:21 编辑

我们想要JSviewer在Startup的方法里获取页面传输的值,进行数据筛选,
我们按之前帖子提供的方法 (原贴地址 https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=69784&extra=page%3D2)
使用UseCustomStore的方法进行报表名称和参数的获取和分割
  • public class Startup1
  •     {
  •         public static string EmbeddedReportsPrefix = "JSdatasource";
  •         string ReportName = "";
  •         public object GetReport(string P)//获取报表名称和报表参数,进行一个对应的报表名称和参数的分割
  •         {
  •             string reportName = P.Split(';')[0];//报表名称;
  •             string parameter1 = P.Split(';')[1];//参数1,这样就可以根据参数值进行数据的筛选了;
  •             string parameter2 = P.Split(';')[2];//参数2;
  •             PageReport rep=new PageReport();
  •             string path = System.Web.Hosting.HostingEnvironment.MapPath("~/");
  •             rep.Load(new FileInfo(@"" + path + "Reports/" + reportName));
  •             return rep.Report;
  •         }





页面请求是这样子的: http://localhost:5050/?dataSources=EMR&toolbar=false&id=hlbl&dataSources=EMR&recId=3321&HospitalId=4®No=1035
请求正常报表也能正常显示。但是当参数长度太长(大概260字符以上)时,页面也就报错了,
(http://localhost:5050/?dataSources=EMR&toolbar=false&id=hlbl&dataSources=EMR&recId=4283,4279,4280,4290,4317,4361,4337,4372,4563,4751,4783,4855,4857,4905,5001,5087,5306,5344,5408,5418,5493,5548,5604,5641,5712,5756,5948,5961,5976,5995,6069,6117,6381,6403,6586,6628,6792,6851&HospitalId=4&regNo=74)






查看了请求过程,activereports内部请求了路由http://localhost:5050/api/reporting/reports/{参数}/info 也是这里报错了。


Bad Request - Invalid URL
HTTP Error 400. The request URL is invalid.




请问大神,这种要传比较长参数的场景改怎么实现?






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

5 个回复

倒序浏览
rjsoft
金牌服务用户   /  发表于:2023-9-5 13:10:37
来自 5#
Bella.Yuan 发表于 2023-9-1 18:27
您好,可以参考下面的连接获取参数:   
如何后台给报表参数赋值 和 如何后台获取报表参数
https://gc ...

翻遍了百度google以及论坛,最终得出的结论就是.net core后端statup中获取参数只能通过reportId 字符串解析;理论上没问题,但是reportId 如果太长了,就不行。后来使用asp.net 那种方式展示报表了。本帖可结贴了。还是谢谢大佬
回复 使用道具 举报
Eden.SunWyn认证
超级版主   /  发表于:2023-9-1 16:36:39
沙发
您参考一下这个帖子回复,使用ReportParameter:
https://gcdn.grapecity.com.cn/fo ... 6&fromuid=70395
回复 使用道具 举报
rjsoft
金牌服务用户   /  发表于:2023-9-1 17:10:15
板凳
Eden.Sun 发表于 2023-9-1 16:36
您参考一下这个帖子回复,使用ReportParameter:
https://gcdn.grapecity.com.cn/forum.php?mod=redirect& ...

看了下这是在前端传的。有.net core  后端获取参数的示例吗?
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2023-9-1 18:27:30
地板
rjsoft 发表于 2023-9-1 17:10
看了下这是在前端传的。有.net core  后端获取参数的示例吗?

您好,可以参考下面的连接获取参数:   
如何后台给报表参数赋值 和 如何后台获取报表参数
https://gcdn.grapecity.com.cn/showtopic-48869-1-1.html
(出处: 葡萄城产品技术社区)
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2023-9-5 15:04:27
6#
rjsoft 发表于 2023-9-5 13:10
翻遍了百度google以及论坛,最终得出的结论就是.net core后端statup中获取参数只能通过reportId 字符串解 ...

给您点个赞
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部