一.同事解决方案:

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的几点总结的更多相关文章

  1. 二十六、【开源框架】EFW框架Winform前端开发之Grid++Report报表、条形码、Excel导出、图表控件

    回<[开源]EFW框架系列文章索引>        EFW框架源代码下载V1.2:http://pan.baidu.com/s/1hcnuA EFW框架实例源代码下载:http://pan ...

  2. 在asp.net mvc中如何使用Grid++ Report (锐浪报表)

    在asp.net mvc中如何使用Grid++ Report (锐浪报表) 在cshtml,razor中的处理方法 以官方的asp.net(csharp)中的第一个示例"1a.简单表格&qu ...

  3. 使用grid++report打印选中行

    接上一篇<hibernate+spring+mvc+Easyui框架模式下使用grid++report的总结>对grid++report做进一步开发 先写一下实现流程: 1.默认为全部载入 ...

  4. hibernate+spring+mvc+Easyui框架模式下使用grid++report的总结

    最近刚开始接触hibernate+spring+mvc+Easyui框架,也是刚开通了博客,希望能记录一下自己实践出来的东西,让其他人少走弯路. 转让正题,以个人浅薄的认识hibernate对于开发人 ...

  5. Grid++Report 数据填充教程

    用 Grid++Report的报表设计器应用程序设计一个简单的报表:“机房开发收入总汇表”                  一.定义报表头 1.执行菜单命令“插入”→“报表头” 2.执行菜单命令“插 ...

  6. 机房收费系统中的Grid++Report报表设计器的应用

    在进行账单查询功能的时候我应用了Grid++Report报表设计器,下面我就为大家介绍一下,还望大家多多指点. 首先,在Grid++Report报表设计器中进行报表界面的设置.在属性编辑窗口中这里对报 ...

  7. Grid++Report 报表开发工具

      Grid++Report 报表开发工具   版本 更新日期 大小 下载 说明 Grid++Repoert6.0.0.6 2015/08/08 16.0M [下载] 锐浪报表工具最新版本,新增功能说 ...

  8. 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 ...

  9. UniGui中使用Grid++Report报表控件子报表获取数据的方法

    Grid++Report是为优秀的报表控件,子报表是其重要功能之一,但Grid++Report提供的网页报表示范主要是以页面为主的,UniGui在Delphi中以快速编写web管理软件著称,但由于资料 ...

  10. Grid++Report报表工具C/S实战篇(五)

    一.课程介绍 本次分享课程属于<C#高级编程实战技能开发宝典课程系列>中的第五部分,阿笨后续会计划将实际项目中的一些比较实用的关于C#高级编程的技巧分享出来给大家进行学习,不断的收集.整理 ...

随机推荐

  1. Iaas-cloudstack2

    流程是下面的模板安装脚本,将对应的hypervisor模板下载下来并另存为临时文件,并解压缩,并将其移动到二级存储相应目录下,仅完成此工作. [root@manage nfs]# /usr/share ...

  2. webpack es6支持配置

    Install Babel and the presets: npm install --save-dev babel-core babel-preset-es2015 Install babel-l ...

  3. Android Afinal框架(二)

    框架地址:https://github.com/yangfuhai/afinal 对应的源码: net.tsz.afinal.annotation.view.* FinalActivity Final ...

  4. Worktile 团队协同办公工具

    Worktile是一个团队协同办公工具,通过简单的协作.沟通和分享,实现团队交互与任务管理的轻松协作.工作随身带,多平台.云数据,随时随地与团队一起工作,项目.任务.文件.讨论.文档.事件.活动流.通 ...

  5. Junit手动/自动加载spring配置文件

    分配置文件在classpath下和web-inf下两种情况的加载: ApplicationContext context = new FileSystemXmlApplicationContext(& ...

  6. 【shell】通配符

    ‘’与“” [root@andon ~]# name='$date' [root@andon ~]# echo $name $date [root@andon ~]# name=abc [root@a ...

  7. LintCode "Number of Islands II"

    A typical Union-Find one. I'm using a kinda Union-Find solution here. Some boiler-plate code - yeah ...

  8. SSH_框架整合1

    1 WEB环境下配置Spring   因为是在WEB环境中应用Spring,所以要先配置web.xml: (1)WebContent-WEB-INF-lib包中,加入Spring包下的required ...

  9. 如何设置DNS的SPF记录

    如何设置DNS的SPF记录 Introduction SPF的完整意思为 "Sender Policy Framework".翻译过来就是发送方策略框架,是一项跟 DNS 相关的技 ...

  10. erlang的shell历史记录

    erlang的shell默认重启以后木有历史记录,略蛋疼,开发的时候略不便 网上找了个方式 sudo apt-get install rlwrap vim ~/.bash_profile alias ...