通过客户端脚本调用服务器以实现数据访问的
Cell 插件解决方案
1、 cell 插件的运行方式
cell 插件是使用 activeX 技术的 web 报表控件,必须通过 vbscript 或 javascript 等客户端
脚本进行操作,通过如下方式生成报表:
2、 cell 插件存在的问题
由于客户端脚本可以被用户浏览,所以无法简单地使用脚本连接数据库来获取数据
(暴露了连接字符串以及 SQL 语句)
3、 解决办法
必须使用某种方法,使客户端脚本调用服务器方法,来实现数据访问。通常的做法有:
3.1 通过 aspx 页面的后台编码实现数据访问,然后 Response.Write 到客户端,需要
postback
3.2 使用 MSXML 的 XMLHTTP 来进行数据的传输,用户感觉是完全静态的。
3、C#/javascript 交互中间件的应用
该中间件采用 3.2 的方法实现,能够解决 cell 插件现在存在的问题,同时加快开发速度。
报表开发人员的编程方法:
3.1 使用 C#进行数据访问类的开发
3.2 编写 ashx 类型的文件,把需要由 javascript 调用的 C#类以及方法进行 XML 格式的
声明
基本格式如下
<janc>
<object name=要发布的C#类名>
<method name=要发布的C#方法 type=所属类(包括名字空间的长名)
assembly=所属程序集/>
</object>
</janc>
3.3 在项目的 web.config 中注册在上一步编写好的 ashx 类型文件的 HttpHandler
3.4 在 web 页面中声明<script src="???.ashx?type=script"></script>
- 1
- 2
- 3
前往页