JSview传参太长导致报错
本帖最后由 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(';');//报表名称;
[*] string parameter1 = P.Split(';');//参数1,这样就可以根据参数值进行数据的筛选了;
[*] string parameter2 = P.Split(';');//参数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®No=74)
查看了请求过程,activereports内部请求了路由http://localhost:5050/api/reporting/reports/{参数}/info 也是这里报错了。
Bad Request - Invalid URLHTTP Error 400. The request URL is invalid.
请问大神,这种要传比较长参数的场景改怎么实现?
Bella.Yuan 发表于 2023-9-1 18:27
您好,可以参考下面的连接获取参数:
如何后台给报表参数赋值 和 如何后台获取报表参数
https://gc ...
翻遍了百度google以及论坛,最终得出的结论就是.net core后端statup中获取参数只能通过reportId 字符串解析;理论上没问题,但是reportId 如果太长了,就不行。后来使用asp.net 那种方式展示报表了。本帖可结贴了。还是谢谢大佬 您参考一下这个帖子回复,使用ReportParameter:
https://gcdn.grapecity.com.cn/forum.php?mod=redirect&goto=findpost&ptid=95442&pid=397796&fromuid=70395 Eden.Sun 发表于 2023-9-1 16:36
您参考一下这个帖子回复,使用ReportParameter:
https://gcdn.grapecity.com.cn/forum.php?mod=redirect& ...
看了下这是在前端传的。有.net core后端获取参数的示例吗? rjsoft 发表于 2023-9-1 17:10
看了下这是在前端传的。有.net core后端获取参数的示例吗?
您好,可以参考下面的连接获取参数:
如何后台给报表参数赋值 和 如何后台获取报表参数
https://gcdn.grapecity.com.cn/showtopic-48869-1-1.html
(出处: 葡萄城产品技术社区)
rjsoft 发表于 2023-9-5 13:10
翻遍了百度google以及论坛,最终得出的结论就是.net core后端statup中获取参数只能通过reportId 字符串解 ...
给您点个赞{:5_117:}
页:
[1]