我是telerik报告的新手,我在使用ObjectDataSource的ASP.Net MVC 4中创建了简单的报告。我创建了一个模型类像下面无法将参数传递给使用ObjectDataSource的telerik报告
[DataObject]
public class StockMonitoring
{
[DataObjectMethod(DataObjectMethodType.Select)]
public List<StockDetail> GetExpiredDrugBrand(int SiteID)
{
//returns list by calling stored procedure which takes SiteID
}
}
在控制器我使用这个代码:
using Telerik.Reporting;
..........
............
TypeReportSource Source = new TypeReportSource();
Source.TypeName = typeof(StockMonitoring_Expired).AssemblyQualifiedName;
Source.Parameters.Add(new Parameter("SiteID", SID));
ViewBag.ReportSource = Source;
,并考虑下面的代码:
@(Html.TelerikReporting().ReportViewer()
.Id("reportViewer1")
.ServiceUrl("/api/reports/")
.TemplateUrl("/ReportViewer/templates/telerikReportViewerTemplate-8.1.14.804.html")
.ReportSource((ReportSource) ViewBag.ReportSource)
.ViewMode(ViewModes.INTERACTIVE)
.ScaleMode(ScaleModes.SPECIFIC)
.Scale(1.0)
.PersistSession(false)
)
当我注释此行
Source.Parameters.Add(new Parameter("SiteID", SID));
and set design我的报告“SiteMonitoring_Expired”在VS 2012中创建的时间值我上面的代码正常工作,并且断点击中模型中的“GetExpiredDrugBrand”方法,但是当我取消注释上面的行并删除SiteID的设计时值时,我的代码给出下面的错误:
An error has occurred while processing Table 'table1': An error has occurred while resolving 'ObjectDataSource' data source: Cannot convert to type System.Int32
我无法SITEID参数传递给我的“GetExpiredDrugBrand”方法,这反过来又调用的存储过程以检索数据。我阅读telerik报告文档,但无法找出问题。代码有什么问题?
谢谢您提前......