asp.net Reporting Service在Web Application中的应用
原先刚装上Reporting Service时还觉得有点神秘,毕竟在做这个项目前还没有真正接触这个微软用于代替水晶报表的报表工具,而且微软似乎还不满足于一个报表工具那么简单。
Reporting Services 是一种基于服务器的新型报表平台,部署在Microsoft® SQL Server™ 2000基础上,可用于创建和管理包含来自关系数据源和多维数据源的数据的表格报表、矩阵报表、图形报表和自由格式报表。可以通过基于 Web 的连接来查看和管理您创建的报表。
Reporting Services 提供了一套完整的服务、工具和应用程序编程接口 (API),您即使不是程序员也可以使用 Reporting Services。可以使用 Reporting Services 中包含的应用程序和工具来制作、发布和管理报表。此外,还提供了支持报表生存周期的各个阶段的工具或应用程序。程序员可以使用 API 将报表功能扩展或集成到自定义解决方案中。
本文主要简介Reporting Service开发中所涉及到的部分技术,首先我们可以从其是一个服务(Service)可知,它提供了Web Service接口,并且允许我们在报表中嵌入代码(必须是VB .Net),还可以引用基于.Net Framework的程序集。
在此主要讲Reporting Service开发相关技术的二个方面
1.在自定义的应用程序中集成Reporting Service提供的报表服务
生成报表展示组件
要想把Reporting Service的报表(RDL文件)集成到自定义的应用程序中,我们可以通过Reporting Service自带的一个报表展示组件,它可以通过对sample项目ReportViewer编译得到,默认为ReportViewer.dll。
我们通过通过对sample项目ReportViewer进行编译,可以得用于在自定义应用程序集成RDL文件的组件,但如果我们需要在自定义应用程中传递参数给报表,用默认编译得到的ReportViewer.dll组件将不支持。接下来,我们要解决这个问题,如何将在自定义应用程中给报表参数赋值?
代码如下:
private void SetParameter(string name, string value)
{
…
…
}
此方法的作用将是给报表参数设置值,这时大家可能会很高兴,因为它提供了一个方法来支持,但当我们看到private时,我们也许高兴不起来了,微软基本安全考虑,默认状态下并不把传递参数的方法暴露出来。但往往实现应用与安全都是互斥的。
现在我们至少知道如何扩展该功能来达到我们的目的。
代码如下:
public void SetQueryParameter(string Name, string value)
{
this.SetParameter(Name, value);
}
我们新增一个public的方法SetQueryParameter,即可。再重新编绎一下,那么这个组件就具备了参数传递功能。
相关推荐
-
ASP.Net的Application介绍
在ASP.Net中Application用法与ASP是一样的,几乎是没有什么说的,但是它多了两个特别有用的事件,Application_OnBeginRequest和Application_OnEndRequest.他们的和原来的Application_OnStart和Application_OnEnd一样是放在global文件中的(注意这个文件在ASP中名字是global.asa,在ASP.Net中是global.asax). Application_OnStart是在整个ASP.Net应用首
-
asp.net页面传值测试实例代码(前后台)
WebForm_1.aspx内容如下: 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm_1.aspx.cs" Inherits="页面传值.WebForm_1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&qu
-
ASP.NET页面之间传值的方式之Application实例详解
Application Application变量在整个应用程序生命周期中都是有效的,类似于使用全局变量一样,所以可以在不同页面中对它进行存取.它和Session变量的区别在于,前者是所有的用户共用的全局变量,后者是各个用户独有的全局变量. 举例来解释: 网站访问的计数器变量一般采用Application变量,多个请求访问时共享这一个变量,均可对它进行操作,该变量可以被整个应用程序的各个页面直接使用. 用户登陆的帐号名一般采用Session变量,多个请求访问时有各自的Session变量,只能对自
-
ASP.NET实现页面传值的几种方法小结
这三种方法是:QueryString,Session和Server.Transfer. 通过URL链接地址传递 send.aspx: 复制代码 代码如下: protected void Button1_Click(object sender, EventArgs e) { Request.Redirect("Default2.aspx?username=honge"); } receive.aspx: 复制代码 代码如下: string username
-
asp.net 页面传值的几个方法
在这篇文章里,azamsharp 将为我们介绍一些ASP.NET页面传值的方式.本文所举的例子非常简单,仅仅包含了一个文本框和几个按钮,当按钮点击时文本框中的字符串将会以不同的方式传递到另外的页面去. 1. Response.Redirect (或称 Query String 方式.URL方式) 复制代码 代码如下: Response.Redirect("WebForm5.aspx"); 首先让我们看看 Response.Redirect 方法,这应该是最简单的了,当我们点击Respo
-
ASP.NET 页面传值常用方法总结
一.表单提交: 复制代码 代码如下: <formaction= "target.aspx" method = "post" name ="form1"> <input name = "param1" value ="1"/> <input name = "param2" value ="2"/> </form> ....
-
ASP.NET 跨页面传值方法
1. 使用QueryString变量 QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中.如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法.但是对于传递数组或对象的话,就不能用这个方法了.下面是一个例子: a.aspx的C#代码 复制代码 代码如下: private void Button1_Click(object sender, System.EventArgs e) { string s_url; s_url = "b.aspx?
-
ASP.NET内置对象之Application对象
新建一个网站,包括两个网页,代码如下: 1.Index.aspx代码: 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Index.aspx.cs" Inherits="Index" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&
-
ASP.NET中Application和Cache的区别分析
相同点:1. 二者存储的变量的有效范围都是整个应用程序的生命周期.2. 二者都可以存贮对象. 不同点:1. application是在asp阶段使用的,后来升级到.net后,使用的是cache,但为了向前兼容,依然保留了application. 2. cache比application使用更加灵活,功能更强大.cache可以设置每一个item的优先级,当服务器内存不够时,将对cache进行压缩,将一些很长时间没使用的或者优先级低的item从cache中移去.3.cache中可设置某个item的依
-
asp.net Reporting Service在Web Application中的应用
原先刚装上Reporting Service时还觉得有点神秘,毕竟在做这个项目前还没有真正接触这个微软用于代替水晶报表的报表工具,而且微软似乎还不满足于一个报表工具那么简单. Reporting Services 是一种基于服务器的新型报表平台,部署在Microsoft® SQL Server™ 2000基础上,可用于创建和管理包含来自关系数据源和多维数据源的数据的表格报表.矩阵报表.图形报表和自由格式报表.可以通过基于 Web 的连接来查看和管理您创建的报表. Reporting Servic
-
在ASP.Net Web Forms中使用依赖注入的步骤
目录 创建 WebForm 项目 创建实体 和 接口 创建容器和类型注册 WebForms 使用依赖注入 依赖注入技术就是将一个对象注入到一个需要它的对象中,同时它也是控制反转的一种实现,显而易见,这样可以实现对象之间的解耦并且更方便测试和维护,依赖注入的原则早已经指出了,应用程序的高层模块不依赖于低层模块,而应该统一依赖于抽象或者接口. 在 .Net Framework 4.7.2 中引入了对依赖注入的支持,终于在 ASP.Net Web Forms 中可以使用依赖注入机制了,这篇文章将会讨论
-
IIS服务器中 ASP.NET State Service 开启后 Session 仍容易丢失的问题终极解决办法
解决方法一: 1. 开启ASP.NET State Service服务: 选择管理工具->服务,找到ASP.NET State Service,点开后选择启动,并将启动类型设为自动. 2. 设置程序配置文件: 将web.config打开,会看到有一行是<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" timeout="20"/>,如
-
详解如何在ASP.NET Core Web API中以三种方式返回数据
在 ASP.NET Core 中有三种返回 数据 和 HTTP状态码 的方式,最简单的就是直接返回指定的类型实例,如下代码所示: [ApiController] [Route("[controller]")] public class WeatherForecastController : ControllerBase { [HttpGet] public IEnumerable<WeatherForecast> Get() { var rng = new Random()
-
基于springMvc+hibernate的web application的构建
闲来没事,想整理下一些知识. 这篇文章是关于spring的web程序的搭建,有什么不对的地方希望大家批评指正. 首先我们要了解什么是spring,这里可能很多大家也都明白,无非是一个管理对象的一个容器,主要体现在IOC注入和AOP切面编程. 关于上面的两点在后面一点会给大家更具体的说明一下是什么. 简单的来说,以前大家编程实例化都是自己在控制,这样真的好吗? 下面是不用spring的写法,我们先假定有一个类是下面这样的: public class Worker { public void say
-
ASP.NET State service状态服务的问题解决方法
异常详细信息: System.Web.HttpException: 无法向会话状态服务器发出会话状态请求.请确保已启动 ASP.NET State service,并且客户端和服务器端口是相同的.如果服务器位于远程计算机上,请检查 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\AllowRemoteConnection 的值,确保服务器接受远程请求. 这是因为ASP.NET State s
-
基于springMVC web.xml中的配置加载顺序
目录 springMVC web.xml中的配置加载顺序 1.Spring上下文环境的配置文件 2.SpringMVC配置文件 加载顺序是 web.xml加载顺序及Spring包扫描注意 1.web.xml文件中配置文件加载顺序 2.SpringMVC配置事务管理时 springMVC web.xml中的配置加载顺序 在这里就不详细说web.xml的文件中的具体配置,就简单说明一下其中配置信息的加载顺序: 在web.xml文件中元素的加载顺序与它们在 web.xml 文件中的先后顺序无关. 加载
-
Spring Boot Shiro在Web应用中的作用详解
目录 01-Tomcat 中的 Filter 责任链 02-Shiro 中的 filter 链结构 03-shiro-filters 如何与 servlet 中的 filter 关联起来 04-总结 01-Tomcat 中的 Filter 责任链 在前面的文章中,我介绍了如何使用 Apache Shiro 进行安全认证. 其实 Shiro 在 Web 应用中出现的频率更高. 今天我将来分析下,Shiro 是如何应用到 Web 应用中的. Servlet 规范中定义了 Filter 和 Filte
-
在Python的web框架中编写创建日志的程序的教程
在Web开发中,后端代码写起来其实是相当容易的. 例如,我们编写一个REST API,用于创建一个Blog: @api @post('/api/blogs') def api_create_blog(): i = ctx.request.input(name='', summary='', content='') name = i.name.strip() summary = i.summary.strip() content = i.content.strip() if not name: r
-
JSP取得在WEB.XML中定义的参数
在WEB.XML文件中设置参数: <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> &
随机推荐
- 使用xmldom在服务器端生成静态html页面
- angularjs在ng-repeat中使用ng-model遇到的问题
- 详解使用vue-router进行页面切换时滚动条位置与滚动监听事件
- 用“本地安全策略”保护系统安全
- VBS教程:VBscript语句-Const 语句
- python dict 字典 以及 赋值 引用的一些实例(详解)
- django自定义Field实现一个字段存储以逗号分隔的字符串
- python常用函数详解
- 使用python删除nginx缓存文件示例(python文件操作)
- javascript滚轮控制模拟滚动条
- JavaScript实现移动端轮播效果
- jquery 实现滚动条下拉时无限加载的简单实例
- Windows Server 2008 架设 Web 服务器教程(图文详解)
- android图像绘制(五)画布保存为指定格式/大小的图片
- javascript innerHTML、outerHTML、innerText、outerText的区别
- Lua面向对象编程学习笔记
- DOS 下的批处理文件
- Android编程实现禁止StatusBar下拉的方法
- jquery实现下拉框左右选择功能
- Android使用GPS获取用户地理位置并监听位置变化的方法