zoukankan      html  css  js  c++  java
  • 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数据更简单。经过测试,完美无误!

  • 相关阅读:
    移动平台的meta标签-----神奇的功效
    JAVA工程命名规范
    linux 查看tomcat 实时日志
    linux 配置全局jdk环境
    AJAX 前后端交互 验证信息是否正确
    数据库更新DATE类型的时间
    jq 克隆 移除table
    eclipse 安装javaEE插件 和htmlxmljsp编辑器
    oracle 正序 逆序 排序查询
    JQ遍历 input 并修改name属性
  • 原文地址:https://www.cnblogs.com/jizhong/p/3595763.html
Copyright © 2011-2022 走看看