- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种基于MVC架构的报表填报模块快速实现.doc
一种基于MVC架构的报表填报模块快速实现 摘 要:报表在企业信息系统中具有极其重要的作用,随着互联网技术的发展,传统C/S模式的企业信息系统都在向B/S模式迁移,报表填报作为信息系统中的一个重要模块,在开发过程中占据了相当大的比重。本文介绍了一种基于ASP.NET MVC框架的快速开发报表填报的模块的方案。 关键词:报表填报 ASP.NET MVC 模型绑定 中图分类号:TP2 文献标识码:A 文章编号:1672-3791(2013)06(b)-0025-01 报表填报模块的主要开发任务在于用户界面、输入控制、自动计算以及数据持久化的实现,当报表简单的时候,可能不需要太多的代码就能完成这部分的工作,而在报表复杂的时候,这部分的工作量会变得相当繁重且容易出错。面对这部分的开发任务时,开发人员总是希望能够有一种简单的、可靠的方式快速完成这部分的工作。本文基于ASP.NET MVC框架,通过其中的模型绑定技术,实现了报表填报模块的快速开发。 1 相关技术介绍 1.1 ASP.NET MVC框架 ASP.NETMVC是微软公司提供的以MVC模式为基础的ASP.NETWeb应用程序框架,通过把项目分成Model、View和Controller,使得复杂项目更加容易维护,可以方便的控制应用程序的行为,适合大型团队项目开发。 1.2 ASP.NET MVC的模型绑定技术 ASP.NET MVC模型绑定通过引入自动填充控制器操作参数的抽象层、处理通常与使用ASP.NET请求数据有关的普通属性映射和类型转换代码来简化控制器操作。模型绑定的过程包括2个步骤:从请求收集值并使用这些值填充模型。这2个步骤分别由值提供程序和模型绑定程序来完成,这部分的实现可以参考ASP.NETMVC的相关资料,这里就不做阐述了。 2 实现方案 ASP.NET MVC的项目包括Model、View和Controller,下面我们通过一个简单的表单逐一介绍这些模块的实现。 2.1 Model和数据层 在我们进行到填报模块的开发的时候,数据库结构通常都已经确定了,我们需要实现各个表单对应的实体和其数据访问层,这部分的代码和数据库表相对应,而且基本相似,可以通过代码生成器来生成。我们使用代码生成器生成对应的数据实体类主要代码如下: [EntityProperty(MappingTable TP1,MappingColumn iD,PropertyType OracleType.Number)] public string iD get return this[iD]; set this[iD] value; 每个数据库字段对应一个实体类的属性,并用一个自定义的元数据指明这个字段映射的数据库表名,字段名称,以及其数据类型。 同时,我们使用代码生成器生成了该实体的数据库操作类,实现了对该表单的基本数据库操作实现。 2.2 View和页面逻辑实现 报表通常都有自己固定的样式,所以,在实现用户界面之前,我们可以通过word,excel或者其他工具先把这个报表的样子按照需要做出来,并在其对应的数据部分标明为数据库字段,然后通过另存为、导出之类的方式得到包含数据库字段标签的HTML文档,再通过正则表达式进行查找替换,将标签替换为实体变量,这样就得到了View的基本代码,这个过程的代码示例如下: 替换前的Html源码: $f1$ 替换后的View代码: @Model.f1 @Html.TextBoxFor(model Model.f1,new @class edititem ) 这部分Html代码的样式都由设计工具生成,我们只替换了数据部分的代码,为每个字段提供了一个呈现和一个文本框输入。 由于报表的特殊性,字段之间的值可能使用公式来计算获得,基于JavaScript引擎,我们实现了一个简单的公式添加方法,只要在视图上定义一个公式数组即可,如: var exp [f1 f2+f3+f6+f7, f6 f1+f4+f5]。 当用户修改对应文本框的值的时候,页面会自动进行公示计算。 2.3 控制器和模型绑定 当用户访问这个报表的时候,有2种情况,新建一个报表进行填写或者修改这个报表的数据,对于这种情况,我们需要提供一个针对HttpGET请求的访问控制器,主要代码如下: [HttpGet] public PartialViewResult P1(string id) P1 eo new P1() sUnitCode id ; var dal new P1DAL(); eo dal.GetEntity(id) as P1; return PartialView(eo); 同时我们需要提供一个处理HttpPost的访问控制器以处理用户新建或者修改报表后的回发,主要代码
您可能关注的文档
最近下载
- 21X505-2《火灾自动报警系统施工及验收标准》图示.docx VIP
- 第4课+数据分包灵活传 课件 2025-2026学年人教版(2024)初中信息科技七年级全一册.pptx VIP
- 人教版数学九年级上册教案 第二十四章 圆.doc VIP
- 新(2024)人教版七年级英语上册全册【共9个单元】知识点总结.doc VIP
- 系统集成项目实施指南.pdf VIP
- 中职语文高教版(2023)基础模块上册第三单元一《无衣》课件(共25张PPT).pptx VIP
- 使用OllyDbg从零开始Cracking.doc
- 交通安全设施监理实施细则.docx VIP
- 2025年山东省网络安全工程专业职称考试(网络生态建设与治理·中级)历年参考题库含答案详解(5卷).docx VIP
- (高清版)B-T 21109.1-2022 过程工业领域安全仪表系统的功能安全 第1部分:框架、定义、系统、硬件和应用编程要求.pdf VIP
文档评论(0)