Grid++Report的几点总结
一.同事解决方案:
1.在View文件夹下建立报表文件A,用来作为报表呈现的载体。这个页面负责加载报表模板与加载数据源。其中报表模板由于后缀名为grf,在MVC中不做任何修改的情况下,系统会做路由处理,提示404错误,因此,同事将模板后缀名修改为jpg,得以顺利调用。数据源加载,同事的思路是通过aspx页面实现,具体来说,在aspx页面中定义ViewData,在controller中对ViewData进行赋值,从而输出view。总体上是利用了aspx页面作为数据源呈现页面,而利用Mvc的controller向这个呈现页面填充数据实现为报表提供数据源。问同事为何不用cshtml页面,答曰:会出错。
二.优化方案:
首先将aspx页面替换为cshtml页面,也在其中定义ViewData,发现点击报表页面的查询按钮,页面即报错,IE崩溃。经过与原有页面数据对比,发现原来是MVC将双引号进行了转义所致。因此,调用MVC自带的Html.Raw方法,阻止其转义。由此,将aspx页面问题解决。
利用cshtml页面,有两种做法:
1.直接在cshtml页面定义ViewData,在controller中返回View,但是此时返回的页面是带有母版页的页面,因此,必须在cshtml页面中声明,Layout=null。
2.在cshtml页面中仅仅定义ViewData,不涉及Layout声明。在Controller中直接返回PartialView即可。
关于模板文件的后缀名修改问题,更是简单,在config中,将*.grf文件声明为静态文件即可。即添加以下代码即可解决。
<add name="Static Report" path="*.grf" verb="GET" type="System.Web.StaticFileHandler" />
至此,将报表部分的开发顺畅了许多,再也不用烦修改报表模板文件后缀名、aspx页面等问题了。
更新:
不使用数据源页面及ViewData,直接通过API返回json数据更简单。经过测试,完美无误!
Grid++Report的几点总结的更多相关文章
- 二十六、【开源框架】EFW框架Winform前端开发之Grid++Report报表、条形码、Excel导出、图表控件
回<[开源]EFW框架系列文章索引> EFW框架源代码下载V1.2:http://pan.baidu.com/s/1hcnuA EFW框架实例源代码下载:http://pan ...
- 在asp.net mvc中如何使用Grid++ Report (锐浪报表)
在asp.net mvc中如何使用Grid++ Report (锐浪报表) 在cshtml,razor中的处理方法 以官方的asp.net(csharp)中的第一个示例"1a.简单表格&qu ...
- 使用grid++report打印选中行
接上一篇<hibernate+spring+mvc+Easyui框架模式下使用grid++report的总结>对grid++report做进一步开发 先写一下实现流程: 1.默认为全部载入 ...
- hibernate+spring+mvc+Easyui框架模式下使用grid++report的总结
最近刚开始接触hibernate+spring+mvc+Easyui框架,也是刚开通了博客,希望能记录一下自己实践出来的东西,让其他人少走弯路. 转让正题,以个人浅薄的认识hibernate对于开发人 ...
- Grid++Report 数据填充教程
用 Grid++Report的报表设计器应用程序设计一个简单的报表:“机房开发收入总汇表” 一.定义报表头 1.执行菜单命令“插入”→“报表头” 2.执行菜单命令“插 ...
- 机房收费系统中的Grid++Report报表设计器的应用
在进行账单查询功能的时候我应用了Grid++Report报表设计器,下面我就为大家介绍一下,还望大家多多指点. 首先,在Grid++Report报表设计器中进行报表界面的设置.在属性编辑窗口中这里对报 ...
- Grid++Report 报表开发工具
Grid++Report 报表开发工具 版本 更新日期 大小 下载 说明 Grid++Repoert6.0.0.6 2015/08/08 16.0M [下载] 锐浪报表工具最新版本,新增功能说 ...
- Grid++Report支持CS/BS模式的表报插件
Grid++Report 可用于开发桌面C/S报表与WEB报表(B/S报表),C/S报表开发适用于VB.NET.C#.VB.VC.Delphi等.WEB报表开发适用于ASP.ASP.NET.JSP/J ...
- UniGui中使用Grid++Report报表控件子报表获取数据的方法
Grid++Report是为优秀的报表控件,子报表是其重要功能之一,但Grid++Report提供的网页报表示范主要是以页面为主的,UniGui在Delphi中以快速编写web管理软件著称,但由于资料 ...
- Grid++Report报表工具C/S实战篇(五)
一.课程介绍 本次分享课程属于<C#高级编程实战技能开发宝典课程系列>中的第五部分,阿笨后续会计划将实际项目中的一些比较实用的关于C#高级编程的技巧分享出来给大家进行学习,不断的收集.整理 ...
随机推荐
- 递归函数练习:输出菲波拉契(Fibonacci)数列的前N项数据
/*====================================================================== 著名的菲波拉契(Fibonacci)数列,其第一项为0 ...
- wikioi 1203 判断浮点数是否相等
/*======================================================================== 1203 判断浮点数是否相等 题目描述 Descr ...
- Nginx 性能优化
1.安全优化:隐藏Nginx版本号,server_tokens off; 2.安全优化:更改掉默认的用户 user nginx; 3.性能优化: 根据硬件配置,调整nginx worker 进程数 ...
- mysql 进程状态(转)
通过show processlist查看MySQL的进程状态,在State列上面的状态有如下这些: Analyzing线程对MyISAM 表的统计信息做分析(例如, ANALYZE TABLE ).c ...
- Redis Cluster 在PHP上的实践
版本:redis3.0.3 redis——slot: 'master' => [ '192.168.1.55:7000'=>[0,5460], '192.168.1.55:7001'=&g ...
- 剑指offer系列55---最小的k个数
[题目] 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. *[思路]排序,去除k后的数. package com.exe11 ...
- 恢复ext4文件系统superblock
恢复ext4文件系统superblock 1. Create ext4 文件系统. [root@localhost ~]# mkfs.ext4 /dev/vdb1 [root@localhost ~] ...
- centos 连不上网
ifc-eth0 里面要加DNS1=192.168.1.1 一定是DNS1这样的,不要是DNS
- 启动Memcache,出现memcached: error while loading shared libraries: libevent-1.4.so.1: cannot open shared
1.有可能是装了多个 libevent而导致memcache无法识别哪一个,解决方法就是卸载掉一个libevent 2.只安装了一个libevent,但是也报这个错,解决方法 32位系统下:ln ...
- sealed修饰符
sealed(C# 参考) 当对一个类应用 sealed 修饰符时,此修饰符会阻止其他类从该类继承. 在下面的示例中,类 B 从类 A 继承,但是任何类都不能从类 B 继承. class A {} s ...