Ajax技术显著加快了Web应用程序的速度。另外,视觉效果方面也有提升。大家都同意,每次点击按钮时整个页面都会被刷新这一点不太友好。如果你的网速不是很快,那么这个过程会很烦人,因为所有的元素都会先消失,再慢慢重新出现。如果只刷新一部分页面,那就美滋滋了。而这正是Ajax所提供的。该脚本向服务器发送一个请求,以更新所需的部分信息。然后,脚本将更新的数据插入页面上的正确位置。

在这个页面中,我想用一个简单的方法通过Ajax更新ASP .Net MVC项目中的信息。这种方法被称为“unobtrusive Ajax” - Microsoft Unobtrusive Ajax。其底线是使用Unobtrusive库,并且,辅助程序允许你使用Ajax而无需编写任何JavaScript代码。这个例子会非常简单,适合初学者。那么,我们开始吧。

要在一个MVC项目中使用FastReport.Net报表生成器自带的WebReport组件,你需要调整一些配置。即,编辑Web.Config文件并添加必要的库。

将FastReport和FastReport.Web库添加到你的项目中。

在Web.config中添加处理句柄,它位于项目的根目录中:

在位于Views文件夹中的Web.config文件中添加命名空间。

在_Layout.cshtml文件的

部分添加脚本和样式:

@WebReportGlobals.Scripts()

@WebReportGlobals.Styles()

现在我们切换到HomeController.cs。在这里,我们放置业务逻辑:

我已经创建了全局报表对象:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Mvc;

using FastReport.Web;

using System.Web.UI.WebControls;

using System.Globalization;

using WebLocalization.Models;

namespace WebLocalization.Controllers

{

public class HomeController : Controller

{

private WebReport webReport = new WebReport(); // report object is available within the class

private string report_path = "J:\\Program Files (x86)\\FastReports\\FastReport.Net\\Demos\\Reports\\"; //reports folder

public ActionResult Index()

{

SetReport(); //method of loading report and DB

ViewBag.WebReport = webReport; //pass the Web Report into the View

return View();

}

public void SetReport()

{

System.Data.DataSet dataSet = new System.Data.DataSet(); //create data set dataSet.ReadXml(report_path + "nwind.xml"); //Load xml database webReport.Report.RegisterData(dataSet, "NorthWind"); // register the data source in the report object

webReport.Report.Load(report_path + "Simple Interactive.frx"); //load the report into WebReport object

webReport.Width = Unit.Percentage(100);

webReport.Height = Unit.Percentage(100);

}

如你所见,Index方法只包含了报表的加载,并通过ViewBag将其传递给视图。我将报表上传到单独的 SetReport() 方法。

现在考虑Index.cshtml的视图:

@{

ViewBag.Title = "Home Page";

}

@using (Ajax.BeginForm("Update", "Home", new AjaxOptions

{

UpdateTargetId = "UpdateHere"

//HttpMethod = "POST",

//InsertionMode = InsertionMode.Replace,

}))

{

@Html.CheckBox("condition", true)

}

@ViewBag.WebReport.GetHtml()

ajax调用fastreport,使用Ajax更新ASP.Net MVC项目中的报表对象相关推荐

  1. 在已有的Asp.net MVC项目中引入Taurus.MVC

    Taurus.MVC是一个优秀的框架,如果要应用到已有的Asp.net MVC项目中,需要修改一下. 1.前提约定: 走Taurus.MVC必须指定后缀.如.api 2.原项目修改如下: web.co ...

  2. jNs 在 ASP.NET MVC 项目中的应用

    最近做项目用到 ASP.NET Web Optimizatoin Framework,发现 Sea.js 的依赖加载在 Release 版本下不能很好的工作了--因为 Web.Optimizatoin ...

  3. asp.net mvc项目中遇到的古怪的问题,(项目中有frame框架)

    大致是这样的,整个项目分上,左,右三个框架, 左侧是导航栏,根据部门id不同在右框架显示不同的部门人员信息 问题来了, 由于左侧是ajax无刷新树导航,所以按照mvc的原则,添加一个新路由大致为 ro ...

  4. 在ASP.NET MVC 模型中 选择最好的方法将多个model(数据模型)传递到视图

    在ASP.NET MVC 模型中 选择最好的方法将多个model(数据模型)传递到视图 前提介绍 这个文章我们要讨论,在ASP.NET MVC模型的项目中,怎么选择一个最有效的方式来将多个数据模型(m ...

  5. 【初学者指南】在ASP.NET MVC 5中创建GridView

    介绍 在这篇文章中,我们将会学习如何在 ASP.NET MVC 中创建一个 gridview,就像 ASP.NET Web 表单中的 gridview 一样.服务器端和客户端有许多可用的第三方库,这些 ...

  6. 在ASP.NET MVC应用中开发插件框架(中英对照)

    [原文] Developing a plugin framework in ASP.NET MVC with medium trust [译文] 在ASP.NET MVC应用中开发一个插件框架 I'v ...

  7. 在ASP.NET MVC 4中使用Kendo UI Grid

    Kendo UI 是Telerik推出的一套based on jQuery 的 Framework,提供了很多控件(Menu .Grid .Combox等...), 底层以Html5 + jQuery ...

  8. C# 6 与 .NET Core 1.0 高级编程 - 41 ASP.NET MVC(中)

    译文,个人原创,转载请注明出处(C# 6 与 .NET Core 1.0 高级编程 - 41 ASP.NET MVC(中)),不对的地方欢迎指出与交流. 章节出自<Professional C# ...

  9. 使用ASP.NET MVC Futures 中的异步Action

    在ASP.NET MVC中使用异步是比较麻烦的,从RC1版开始ASP.NET MVC Futures中提供了几个支持异步的类. 相关的类有:AsyncActionDescriptor.AsyncCon ...

最新文章

  1. 数据挖掘和机器学习:基本概念和算法(附电子书PPT)
  2. Android 的简介和体系结构中每个层的功能。
  3. linux 编程博客,Linux系统编程博客参考
  4. 转变--一个平凡人的2017年总结及2018年展望
  5. Cache-Control常用类型
  6. sublime 正则搜索日语字符
  7. Mybatis生成器插件扩展,定制方法生成,list参数生成
  8. 动态代理Java实现
  9. 用最简单的操作,做最精准的AI模型!
  10. 【Hadoop代码笔记】Hadoop作业提交之客户端作业提交
  11. 类创建几种java_Java创建对象的几种方式
  12. java 图片识别_JAVA识别图片中的文字
  13. 安卓怎么把一个按钮设计成梯形_常闭触点输入信号处理的电路图及PLC梯形图
  14. 【网络基础编程】第三节 C/S
  15. win10下用ffmpeg推流拉流
  16. 单点登录(java)
  17. html全部颜色代码大全,html代码大全(基础使用代码)(颜色代码完整版)
  18. 栈帧%ebp,%esp详解
  19. 【数据】2000-2020Landscan Global Population Database(全球人口分布数据集-1km)下载教程
  20. JVM总结(四)GC收集器以及JDK7,JDK8中JVM内存变化

热门文章

  1. 家庭财务管理系统(C++面向对象课程设计附课设报告)
  2. 阿里云移动测试平台MQC移动测试沙龙
  3. 请听一个故事------百度员工离职总结:如何做个好员工
  4. PostgreSQL数据库自带的命令行工具--psql
  5. Java之类和对象(超超超详解)
  6. 海马体拍照照片赚钱掘金项目
  7. 基于微信旅游小程序系统设计与实现 开题报告
  8. mpvue 如何使用腾讯视频插件?
  9. jupyter的使用
  10. 一套用了 70 年的计算机架构 —— 冯·诺依曼架构