源码下载:
功能描述:
本示例演示了在 ASP.NET MVC 4 中使用 ActiveReports 10 时,如何实现运行时数据源绑定。
开发环境:
VS2012 + .NET 4.5 + ASP.NET MVC 4 + ActiveReports 10
实现步骤:
1、创建工程,在Visual Studio 2012中创建一个 ASP.NET MVC 4 + .NET 4.5 的工程。
2、添加报表,在工程中添加一个 RDL 报表模板,并设置数据源类型为 Object 数据源,然后通过一个表格显示该数据。参考附件中的 CustomDataSource.rdlx 文件。
3、添加服务,在工程中添加一个【Web 服务】,然后切换到代码视图,修改该类继承的原始类型为 GrapeCity.ActiveReports.Web.ReportService。请参考附件中的 ActiveReportsService.asmx.cs 文件。
4、添加文件,从 C:\Users\用户名\Documents\GrapeCity Samples\ActiveReports 10\HTML5 Viewer\HTML5 Viewer 路径中将 css 文件夹下的文件拷贝到 MVC 工程的 Contents 目录下;将 Scripts 目录下的文件拷贝到MVC工程的Scripts目录下;将fonts文件夹拷贝到MVC工程的根目录下。
5、添加页面,在 Index.cshtml 文件中添加附件中对应文件的代码
6、修改RegisterRoutes,在Global.asax文件中找到RegisterRoutes,然后通过F12跳转到该方法,然后以下两行代码
- routes.IgnoreRoute("ActiveReports.ReportService.asmx/{*pathInfo}");
- routes.IgnoreRoute("{*allActiveReport}", new { allActiveReport = @".*\.ar10(/.*)?" });
复制代码
7、修改RegisterBundles,为了防止MVC工程本身加载的JS与AR所需的JS文件冲突,可删除RegisterBundles方法中的全部代码
8、修改Web.config文件,这部操作与具体的IIS版本有关,如果在进行完以上操作之后运行工程出现错误,请删除Web.config文件中<system.webServer> <handlers>节点的以下代码,然后再进行测试
- <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
- <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
- <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
- <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
- <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
- <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
复制代码 |