后台请求取不到值
function getViewer() {if (viewer && viewer.destroy) {
viewer.destroy();
viewer = null;
}
viewer = GrapeCity.ActiveReports.Viewer({
element: '#viewer',
reportService: {
url:"~/Service/VM/EvcDataPackage.ReportService.asmx"
},
uiType: isPC() ? 'desktop' : 'mobile',
availableExports: ["Pdf", "Word", "Image", "Xls"],
reportLoaded: function () {
},
documentLoaded: function () {
$("#BtnSearch").removeAttr("disabled");
$("#BtnSearch").html('<i class="fa fa-search"></i>查 询');
$("#BtnSearch").css("cursor", "pointer");
},
error: function (error) {
console.log("error");
}
});
return viewer;
}
var _rpt = "Reports/VM/原始数据包查询.rdlx";
var reportsButtons = $('#BtnSearch');
reportsButtons.bind('click', function (ev) {
ev.stopImmediatePropagation();
var target = $(ev.target);
var reportOption = {
id: _rpt,
parameters: [
{ name: 'KeyValue', value: $("#KeyValue").val() },
{ name: 'BeginTime', value: $("#sAppDate").val() },
{ name: 'EndTime', value: $("#eAppDate").val() },
{ name: 'OrderByDesc', value: $('#hideSortWay').val() },
{ name: 'InputDesc', value: $('#InputDesc').val() },
{ name: 'Type', value: $('#hideType').val() }
]
};
$("#BtnSearch").attr("disabled", "disabled");
$("#BtnSearch").html('<i class="fa fa-search"></i>查询中');
$("#BtnSearch").css("cursor", "default");
getViewer().option('report', reportOption);
});
后台:
protected override object OnCreateReportHandler(string reportPath)
{
switch (reportPath)
{
case "Reports/VM/原始数据包查询.rdlx":
PageReport definition1 = (PageReport)base.OnCreateReportHandler("Reports/VM/原始数据包查询.rdlx");
definition1.Document.LocateDataSource += new LocateDataSourceEventHandler(InitDataSource);
return definition1;
default:
return base.OnCreateReportHandler(reportPath);
}
}
base.Context.Request["BeginTime"]; 取不到值 {"d":{"__type":"GrapeCity.ActiveReports.Web.Models.SetParametersResult","ParameterCollection":null,"Error":{"Description":"Too much parameters","ErrorCode":11},"Token":"9e303d43-dad6-49d7-85ce-37383982e1dc"}} 您好,
var reportOption = {
id: _rpt,
parameters: [
{ name: 'KeyValue', value: $("#KeyValue").val() },
{ name: 'BeginTime', value: $("#sAppDate").val() },
{ name: 'EndTime', value: $("#eAppDate").val() },
{ name: 'OrderByDesc', value: $('#hideSortWay').val() },
{ name: 'InputDesc', value: $('#InputDesc').val() },
{ name: 'Type', value: $('#hideType').val() }
]
};
这个里面的参数,作为报表的参数进行添加,添加的位置是
GrapeCity.ActiveReports.PageReport _reportDef = XXX
_reportDef.Report.ReportParameters
不会添加的到Context的Request,这个是URL请求的参数。 definition1.Document.LocateDataSource += new LocateDataSourceEventHandler(InitDataSource);
如果在InitDataSource方法里怎么取值
publicvoid InitDataSource(object sender, LocateDataSourceEventArgs args)
{
Dictionary<string, string> dc = new Dictionary<string, string>();
string beginTime=base.Context.Request["BeginTime"]; 取不到值 您好,
这个参数必须在创建PageReprot的时候拿到,如果您在InitDataSource中使用,可以设置一个全局的变量进行参数的传递。 _reportDef.Report.ReportParameters,试验了这种方法也取不到值 您好,
这个问题经过电话沟通,和之前给您的真分页传递参数的方式是一致的,您可以参考下。 我加上参数之后直接报错了 id: reportid + "?totalpage=-1&currentpage=0&p1=" + $("#Text1").val() + "&p1=" + $("#Text2").val(), 您好,
根据电话沟通的结果是0731后缀的那个文件,调用参数的代码是
var reportsButtons = $('#btnReport1');
reportsButtons.bind('click', function (ev) {
ev.stopImmediatePropagation();
reportsButtons.removeClass('active');
var target = $(ev.target);
target.addClass('active');
var page = new Number($("#page-control").val());
$("#page-control").val(page-1);
var reportOption = {
id: target.attr('data-bind'),
parameters: [
{
name: 'PageNum',
value: page-1
}]
};
reportsButtons.prop('disabled', true);
viewer.option('report', reportOption);
});
页:
[1]