ASP.NETMVC

2025-01-08

ASP.NETMVC(精选6篇)

ASP.NETMVC 篇1

1 人事信息管理的现状

随着经济的不断发展,人才成为企业最有力的财富和资源,企业也越来越重视人力资源的开发和管理。人事管理成为各企业工作中的重要部分,在选人、用人和留人各个环节中都离不开对人事档案信息的使用。而人工管理人事信息有着以下不足之处:

(1)档案管理人员管理水平不专,管理手段落后。

(2)人事档案收集工作力度不够,采集面不够广。

(3)采用传统的人工理发方式,信息的更新不及时。

而信息化的高速发展,使得人事档案信息的管理走向电子化和网络化管理,人事信息管理系统除了记录员工的基本情况、学习工作经历等信息外,还可以帮助企业进行人才培养和人才决策。本系统建立的目的是提高企业人事管理的工作效率,改进人事管理的科学化、信息化和规范化,实现无纸办公。

2 系统功能设计

针对公司的特点,将系统的功能实现目标规划如下:

(1)信息与职工管理模块:添加公司机构信息以及公司下属机构和职工的基本信息,对不同级别用户提供查询、更新、删除等功能。

(2)数据管理模块:显示已添加的假别类型列表,提供添加假别及假别类型等功能,显示已存在请假记录职工考勤登记,添加职工的请假记录到系统。

(3)工资信息管理模块:对工资信息进行浏览查询,并可进行增加、删除、修改等。

(4)招聘人员和培训模块:可对于企业每年招聘新员工,参加固定期的培训活动的信息和招聘人员的基本信息进行查询、修改。

(5)统计分析模块:统计整个企业的员工全年的出勤率、奖惩状况。

(6)用户权限模块:可以根据实际情况设置角色,授权特定的管理人员对相关模块进行相应的操作。

3 ASP.NET MVC

MVC(Model-View-Controller,模型—视图—控制器模式)是一种软件架构模式,它把软件系统分为3个基本部分:模型(Model),视图(View)和控制器(Controller)。微软也提供了MVC编写的ASP.NET框架,它的工作流程是这样的:在MVC中,用户通过Web浏览器向服务器请求,请求的URL格式类似http://localhost:4023/Home/Index这样的地址;这个请求被ASP.NET MVC的路由映射系统截获,根据映射规则,从控制器名Controller Name,Action Name和各个参数Parameters查找到相应的Controller类,由Controller来处理功能业务逻辑,也有可能从Model中获得数据,再由Controller选择合适的View返回给客户端;默认情况下,会返回Views目录下与Controller Name同名的目录下的与Action Name同名的aspx文件,并且将View Data传递到视图[1],如图1所示。

系统采用是Visual Studio 2008+SQL Server 2005进行开发,应用ASP.NET MVC架构,技术较成熟,稳定性好,完全能够胜任实现系统所需的功能这一任务,同时能够加快开发速度。

4 关键代码

以权限模块中的查看角色权限为例说明ASP.NET MVC的具体实现过程,如图2所示。

4.1 控制器类

根据实际功能的需求,整个系统包含了18个控制器类,一个控制器类可以包含多个Action,每一个Action都是一个方法,返回一个Action Result实例,以提供对业务逻辑的处理和视图的访问。

部分代码如下所示:

以上所定义的Action是根据角色ID查询权限相应信息,最终以返回树型结构UI控件所需的数据结构字符串。

4.2 模型类

Model对象是包含了数据的模型,本系统中使用ASP.NET LINQ To Entity Framework创建数据模型,生成View中需要的每个成员数据,此处需要使用到角色权限表中的信息。

4.3 视图类

同样,根据各功能模块,也分为15个视图类,每块视图类对应一个独立的子功能,同时对应Controllers中的一个Controller类文件。此处使用Java Script的UI控件,和jquery代码相结合生成树型结构。

部分代码如下:

5 结语

简要概述了使用ASP.NET MVC框架的系统开发过程,良好的分层结构有利于系统的维护,最大限度地优化系统运作过程,也为后期的功能扩展提供了有利的基础。

参考文献

[1]李园,陈世平.MVC设计模式在ASP.NET平台中的应用[J].计算机工程与设计,2009,30(13):3181-3182.

ASP.NETMVC 篇2

开发ASP.NET MVC应用程序时,通常是首先创建数据库,然后通过编写代码来实现数据库访问。这种开发模式已得到了广泛应用,但也存在着性能差、效率低等缺点。随着ASP.NET Entity Framework 4.1的发布,推出了一种称为Code First的新开发模式,可从代码开始数据库应用开发。本文从模型、控制器和视图3个方面对这种开发模式进行了详细研究。

1 创建项目

在VS2010中新建一个项目,选择Visual C#语言,选择ASP.NET MVC 3 Web应用程序模板,依次选择Internet应用程序和Razor视图引擎。对类库Entity Framework的引用将自动添加到项目中。

2 创建实体模型

创建实体模型是Code First开发的关键所在。对于每个实体模型,均需创建一个类。这些类不需要派生自任何Entity Framework类或其他基类,也不必实现任何接口。在本文中定义了产品和产品类别两个实体模型类:

2.1 创建主键

为了保证表完整性,每个表中都必须有一个主键,这就需要在某个列或多个列的组合上定义一个PRIMARY KEY约束。

在Code First模式下,可通过属性名称来“推测”主键:声明实体模型类时若将某属性命名为ID或<类名>ID,则该属性将被推断为主键。主键检测与大小写无关。若主键为int、long或short类型,还会注册为标识列。例如,Product类的Product ID属性和Category类的Category ID就属于这种情况,它们既是主键又是标识列。

2.2 创建主外键关系

为了保证表与表之间的数据完整性,要求主表中主键与从表中外键是一致的,这需要在从表上创建FOREIGN KEY约束。

在Code First模式下,可通过在相关联的类中添加虚属性来实现主外键关系。例如,本文中的Product类和Category类分别表示产品和产品类别,两者之间显然存在着关联。为了实现这种关联,可在Product类中添加Category虚属性:

public virtual Category Category{get;set;}

同时在Category类中添加Products虚属性:

public virtual ICollectionProducts{get;set;}

这样,将会自动创建主外键关系来管理这些关联,还会在后台延迟加载数据。

2.3 使用数据标注

为了保证数据的有效性,使用传统开发模式时通常是利用客户端脚本或数据验证控件对用户输入的数据进行检测。若数据不合要求,则禁止提交。

在Code First开发模式下,数据验证可以利用System.Component Model.Data Annotations命名空间中提供的一组特性类来实现。这些特性类也称为数据标注,可用于定义实体模型类中各个数据字段的行为。对于同一个属性可同时应用多个标注。

在下面的示例中,对Product Name字段应用了Display和Required标注,并指定了中文名称和未输入值时显示的错误信息。

[Display(Name="产品名称")]

[Required(Error Message="产品名称不能为空")]

public string Product Name{get;set;}

3 创建数据上下文

为了将实体模型类映射到数据库中,必须创建数据上下文类。该类必须满足下列要求:派生自System.Data.Entity.Db Context;对于每个实体集定义一个可读写属性;每个属性均为System.Data.Entity.Db Set类型,其中T为实体的类型。

在本文中,创建了一个名称为Store Context的数据上下文类,并定义了两个实体集属性,代码如下:

4 配置数据库连接

传统模式下,可通过ADO.NET Connection对象实现数据库连接。使用Code First开发模式时,将会自动在SQL Server Express实例中创建一个与Db Context名称相同的数据库,并且自动连接到该数据库。也可以在项目的Web.config文件中添加连接字符串,以指定数据提供程序和现有数据库的位置。

5 实现CRUD操作

CRUD是指在进行数据处理时的增加(Create)、查询(Retrieve)、更新(Update)和删除(Delete)操作,这些操作需要对每个实体创建控制器和相应视图来实现。安装ASP.NET MVC 3工具更新后,VS2010中的“添加控制器”对话框得到增强,提供了更多基架选项,可快速生成控制器和视图。

5.1 添加控制器

为了实现对数据库的各种基本操作,需要对每个实体创建一个控制器,每个控制器包含一组操作方法。

若要添加控制器,可右击“解决方案资源管理器”中的Models文件夹,然后选择“添加”→“控制器”,当弹出“添加控制器”对话框时,指定控制器名称,设置基架选项,选择“包含读/写操作和视图的控制器(使用Entity Framework)”,选择模型类、数据上下文类及Razor视图。

5.2 控制器类

在控制器类中,需要创建一个数据上下文对象,并通过各种操作方法来实现数据库访问。这些操作方法包括:用于呈现数据的Index方法;用于添加数据的Create方法;用于修改数据的Edit方法;用于删除数据的Delete和Delete Confirmed方法。在正确创建实体模型的前提下,VS2010将会自动生成这些操作方法的代码。

操作方法分为两类:一类仅用于处理HTTP GET请求,另一类仅用于处理HTTP POST请求。默认情况下操作方法可用于HTTP GET请求。若某操作方法是在提交表单时调用的,则需要对该方法应用Http Post特性。对于Delete Confirmed方法,除了应用Http Post特性之外,还要应用Action Name("Delete")特性以指定操作名称。

对于有参操作方法,可向其传递实体ID或实体对象本身作为参数。实体ID可在单击超链接或提交表单时传递到方法中。实体对象在提交表单时传递到方法中,其属性值由相应表单域确定。

5.3 创建视图

除Delete Confirmed方法外,产品控制器类中的所有其他操作方法都要求创建相应视图。若在添加控制器时选择“包含读/写操作和视图的控制器(使用Entity Framework)”模板和Razor视图,则会自动生成视图。

5.3.1 使用@model指令引用强类型模型

@model指令是ASP.NET MVC 3提供的一项新功能,它实现了视图对强类型模型的引用,以便在视图模板中直接访问从控制器类中传递过来的模型。

5.3.2 呈现HTML控件

通过@model指令引用所需的强类型模型后,即可使用System.Web.Mvc.Html命名空间中的相关类来呈现各种HTML控件,并使用扩展方法对这些控件进行设置。

6 结束语

Code First模式的关键是创建实体模型类并实现数据完整性和数据验证。有了合用的实体模型,即可借助于VS2010快速生成控制器和视图,从而实现CRUD功能。

摘要:Code First是在实体框架中使用数据的开发模式之一,所面临的主要任务是如何实现基本的数据操作功能。本文详细分析了Entity Framework 4.1和ASP.NET MVC 3工具更新提供的的新特性,在ASP.NET MVC 3 Web应用程序中实现了基本的CURD功能。

关键词:ASP.NET MVC,Entity Framework,Code First

参考文献

[1]Vincent-Philippe Lauzon.Entity Framework 4.1:Basics(1).http://vincentlauzon.wordpress.com/2011/04/03/entity-framework-4-1-basics-1/.

ASP.NETMVC 篇3

随着计算机和网络技术的不断发展与普及, 基于网络的应用系统得到了广泛的使用, 各种的使用人员通过网络在自己的计算机终端上使用应用系统。基于网络的各种应用系统的安全性成了计算机领域的一个研究重点。在各种网络安全技术的保护下系统可以抵御来自外界的大多数威胁。

ASP.NET MVC简介

ASP.NET MVC是微软官方提供的开源MVC框架。它是个将一个应用的实现分成三个组件角色的框架技术:模型, 视图和控制器。

在基于MVC的应用里, Model (模型) 是负责保持状态的应用组件。这个状态通常都持久于数据库之中 (譬如, 我们也许会有一个Product (产品) 类用来代表SQL中的Products数据表中的订单数据) 。

在基于MVC的应用里, View (视图) 是负责显示用户界面的组件。这个UI通常是使用模型数据来创建的 (譬如, 我们也许会生成一个Product"编辑"视图, 根据当前Product对象的状态, 显示文本框, 下拉框和复选框等) 。

在基于MVC的应用里, Controller (控制器) 是处理用户交互, 操作模型和最终选择用哪个视图来显示U I的组件。在M V C应用中, 视图只是用来显示信息而已, 是控制器来处理和回应用户的输入和交互的。

总之, 使用MVC方法的一个好处是, 它有助于促进应用中模型, 视图, 控制器间的关注的清晰分离。保持关注的清晰分离使得对应用的测试极其容易, 因为不同应用组件间的契约的定义和表达是更明确的。

角色权限设计

基于角色的权限设计需要添加用户表、角色表、角色权限表等一系列相关数据表, 其数据表的结构设计如下:

用户权限验证

当用户通过URL链接到目标地址时, 如何验证用户是否是注册用户, 操作行为是否符合自身拥有的权限呢?本系统采用了Asp.net MVC中的拦截器技术, 也叫AOP (面向切面编程) 。Asp.net MVC中提供了三种拦截器:Action拦截器、Result拦截器和Exception拦截器。

采用拦截器有以下三个优点:

1.解决了部分代码重复的问题。很多日志处理代码和异常处理代码是很相似的, 这样就导致了各个Action中存在大量重复代码。

2.职责的明确化。Controller仅仅是控制器, 只负责表示逻辑, 而不应该被一大堆日志处理代码和try...catch块包围。我们要的Action, 应该是干净的、工整的、仅包含表示逻辑的Action。

3.代码更加优雅。

本系统使用了A c t i o n拦截器, 主要是通过重写Authorize Attribute来实现自定义的用户权限验证, 其具体实现代码如下:

路由控制

在验证过程中, 检测出某个用户操作了自身所不具有的权限时, 系统会自动转向错误提示页面。在MVC应用系统中, 一般存在了多种数据提交方式, 如通过JSON、Action向Controller提交数据访问申请, 如何在系统中区分这种差异以使页面能够正确的转向。在系统中采用了如下方式:

结语

ASP.NETMVC 篇4

本文详细介绍了系统的总体架构ASP.NET MVC3架构, 从创建数据库开始, 建立实体层开始, 创建数据访问层, 在完成了底层架构之后, 主要介绍了如何以视图操作的逻辑主从关系来创建并实现控制器和视图, 阐述了建立MVC三层架构的整个过程, 最后就系统的特色, 系统的UI的实现加以描述。

1 系统总体架构实现

本系统采用的架构是ASP.NET MVC3架构, MVC的全称是模型 (Model) 、视图 (View) 、控制器 (Controller) 的缩写, 是一种新型的架构模式, 它强制性的将应用程序的输入、处理和输出分开, 使用Mv C应用程序被分成三个核心组件, 而三个组件各司其职, 完成不同的任务。

(1) 创建数据库

建立三层架构之前, 我们首先要为程序建立数据库, 在本系统中, 我们所使用的数据库系统为Microsoft SQLServer2008, 我们的数据库名为程序名的简写:DMIS, 其中包含教师、教学关系、课程、班级、教材、教材关系、教学计划和教学课程表八张表。

数据库的创建完全通过SQL语句来创建, 首先我们先通过CREATE DATABASE来创建数据库文件和数据库日志文件, 并根据需求来分配数据库空间, 随后我们通过CREATE TABLE来创建教师、教学关系、课程、班级、教材、教材关系、教学计划和教学课程表八张表, 最后我们通过ALTER TABLE语句来为已经创建的表之间增加外键约束。

(2) 创建实体层

完成了数据库的创建之后, 接下来我们要开始创建系统的数据实体层。数据实体层主要作用是封装实体类的数据结构, 在应用程序中常用于映射数据库表或者视图的。从NET Framework 3.5开始, 微软将ADO.NET进行了升级, 融入了LINQ查询技术, 并推出本系统所使用的ADO.NET Entity Framework框架。这一框架不仅仅可以使用标准的ADO.NET数据库操作, 而且还可以非常便捷的进行数据映射, 同时还可以访问ADO.NET所带来的对于第三方数据库访问API。

ADO.NET Entity Framework是一个比较庞大的数据库访问框架, 本文我们不会太多的介绍其内部的技术细节, 我们主要利用它来创建数据实体层, Entity.

Framework主要提供了我们三种方法:数据库优先 (Database First) 、模型优先 (Model First) 和代码优先 (Code First) 。"我们这里采用的数据库优先 (Database First) 方法, Entity Framework会根据当前的数据一库的对象自动生成数据模型, 数据模型根据数据库表来生成不同的类及其属性, 而一些数据库的信息比如数据库结构、数据模型和映射也会以XML的方式存储在.edmx文件中。

(3) 创建数据访问层

实体层模型的构建之后, 我们需要构建程序的数据访问层, 这一层主要是提供数据库的访问, 所以我们在这一层需要根据实体层 (Model) 程序集, 提供相应的数据模型类来提供程序的访问。

2 系统模块实现

在完成了系统的底层搭建之后, 下一步的工作就是需要严格按照我们在先前作出的详细设计, 编写相关模块的控制器并建立其视图。在ASP.NET Mv C架构中, 由于控制器和视图的耦合比较紧密, 所以我们不能单单抛开一方面来讲, 我们需要将控制器与视图放在一起实现。在实现之前, 我们需要考虑实现控制器和视图的先后顺序。

我们在这里选择根据视图操作的逻辑主从关系来创建控制器和视图, 具体来说就是:先建立逻辑主视图, 逻辑从视图后建立。我们也可以理解为:视图在表达对象时采用"列表"到"详细"到"创建"到"编辑"到"删除"这一顺序来建立视图。例如:我们在课程模块的控制器Course Controller中包括Index视图、Detail视图、Create视图、Edit视图和Delete视图。这几个视图的实现顺序依次为Index视图、Detail视图、Create视图、Edit视图、Delete视图。采用这样的规则可以有效地方便我们在创建控制器和其视图时建立更加清晰的逻辑, 也极大地方便了后期的调试工作。

(1) 系统模版页的实现

在设计系统模板页或者说系统视图时, 我们首先要考虑的问题是, 我们需要采用何种视图引擎, 在ASP.NET Web Form应用程序中, 我们一般使用默认的ASPX视图引擎, 我们在定义系统模版页的时候可以使用母版页 (Master Page) 。在我们系统, 我们将会使用微软最新推出的Razor视图引擎, 它能快速地在HTML标记中添加服务器端代码, 它不像ASPX使用笨重的占位符, 同样的, 它也不需要使用任何的服务端控件, 从而使应用程序的页面变得更加的灵巧, 提高可读性, 易于后期的维护和修改。在设计系统模板页的时候还有一个需要我们考虑的问题就是, 我们需要将页面设计如何的样式, 我们需要根据系统界面的样式和布局, 来对模板页的布局, 模板页上的控件、以及系统整体的样式CSS文件进行修改。索性本系统对于系统的整体样式并没有提出什么需求, 所以我们就采用MVC提供的默认界面作为我们系统的界面。在我们创建MVC3应用程序时, 系统已经为我们自动生成了文件,

在Razor引擎中没有了"母版页", 取而代之的是叫做"布局"的页面 (Layout.cshtml) 放在了共享视图文件夹中, 首先, 为了实现系统页面的j Query UI、AJAX功能 (将在本章稍后部分介绍) 和其样式我们需在模板页中添加j Query UI系统库、Micros Ajax库和其CSS样随后, 我们需要实现模版页的头部, 这里主要放置系统的名称, 登陆界面和系统的导航条, 在这里我们可以使用Razor视图引擎编写的导航链接, 在正文部分, 我们会看到@Render Body0这个对象, 其实它的作用和母版页中的<contentplaceh01der>服务器控件类似, 当创建基于此布局页面的视图时, 视图的内容会和布局页面合并, 而新创建视图的内容会通过布局页面的@Render Body () 方法呈现在正文之间。这个方法不需要参数, 而且只能出现一次。

(2) 控制器 (Controller) 编码实现

建立完系统模板页之后, 我需要开始着手建立控制器, 在这里我们以课程模块为例, 建立起控制器Course Control ler并为其创建视图。按照先前对于课程模块的设计, 需要建立Index方法、Details方法、Create方法、Edit方法和Delete方法, 首先我们从建立Index方法开始, 进入课程模块后, 我们可以根据课程的名称进行相关课程的查找, 而已有的课程列表也会已每页10条的形式展现在页面上, 这一套方法我们都是在页面加载的时候由视图发出一个Get请求的得到的。

当我们点击编辑按钮时, 主页面会向控制器发送GET请求, 控制器会接受当前视图发送到后台的课程ID, 然后根据课程ID, 选择当前课程, 并根据当前课程信息, 生成包含当前课程教材和教师的多选列表, 随后回传到Edit视图。当我们完成编辑课程信息之后, 我们点击提交按钮, 编辑视图会向课程控制器Post当前视图所提交的内容, 在控制器中, 首先会根据视图Post过来的课程ID, 选择出需要更新的课程, 然后判断该课程是否已经分配教师和教材, 如发现没有分配教师或者教材, 则系统会自动发出错误提示到前台视图, 提醒用户录入相关信息, 最后在根据用户输入的信息, 完成对课程信息的编辑。

当我们在视图主界面, 单击删除按钮, 系统为了防止误操作, 不会立即将现有信息删除, 而是会进入确认删除界面, 此时前台视图会将用户所选中ID传输给控制器, 控制器会根据选中的课程ID, 将此ID所对应的课程信息全部取出, 并返回给确认删除视图, 当再次点击确认删除时, 控制器会根据视图传回来的课程ID, 对课程信息以及课程所包含的其他关系进行删除, 为了保证数据的一致性, 当删除过程中发生意外, 无法删除数据时, 控制器会发出命令直接回退到错误页面并显示错误信息。

(3) 视图 (View) 编码实现

控制器编写完之后, 我们开始根据控制器提供的方法来实现不同功能的视图, 首先我们先要创建Index视图、然后创建Details视图、Create视图、Edit视图和Delete视图。

为了创建Index视图, 我们首先选中Index方法, 然后单击鼠标右键, 并从快捷菜单中选择"Add View"命令, 弹出"Add View"对话框, 在对话框中, 我们首先为视图取名为Index, 然后选择视图引擎为Razor, 勾选"Create a strongly-typed View"复选框, 在"Model Class"下拉列表中选择"Course", "Scaffold templates"中我们选择"List", 最后我们勾选"Use a layout or master page''复选框, 并设置Layout.cshtml为模板页, 单击"Add"按钮后, 在Views目录中为会自动创建Course文件夹并生成Index.cshtml视图文件。

在Index视图中, 我们要创建一个导航至UCreate视图链接按钮, 在链接按钮的下方需要一个搜索的表单, 可以搜索指定的课程。

为了实现Create视图, 继续参照Index视图的创建方法创建Create.cshtml, 在Create视图中, 我们首先需要创建一张课程信息的表单, 在表单中我们构建三个文本框分别用来录入课程的名称、课程的英文名称、课程的介绍, 在文本框之后, 我们需要构建两块多选框区域, 分别用来分配课程教师和课程所需要的教材。

3 用户体验实现

用户体验是一种纯主观的在用户使用产品过程中建立起来的感受, 也可以理解我人机之间的操作时系统所带来的愉悦度和价值感, 一个好的用户体验的实现不仅可以使软件页面变得美观, 更重要的是让用户的操作过程变得清晰、简洁、舒适、自由。

为了实现系统的用户体验, 首先我们要对系统JS框架进行选择, 目前比较流行的JS框架有Dojo、Prototype、j Query、Ext JS, 每个框架各有优点, 这里我们不做过多阐述, 由于ASP.NET MVC框架对j Query库提供官方的支持, 所以在本系统中我们采用j Query库作为JS库。随后我们需要在系统的脚本文件中添加对j Query库。在脚本文件夹中, 我们需要添加j Query标准库, j Ouery UI标准库以及本系统所要引用到的控件包比如datapicker UI控件包, Microsoft Ajax库和我们需要自定的j Ouery脚本文件。

4 结束语

我们主要从系统总体架构实现的说起, 简单的介绍了MVC的相关技术, 并重点阐述了我们选择ASP.NET MVC作为我们系统架构的优势, 随后我们从系统的底层搭建开始, 逐步深入, 以Course模块为例, 介绍了系统视图和控制器之间的关系并讲解了实现的全过程, 最后己Book模块为例, 介绍了系统以j Query UI为系统JS库逐步实现Book界面用户体验的整个过程。

摘要:本文主要研究目的是建立一个以ASP.NET MVC架构为基础的教学编排管理系统, 实现教学编排管理自动化需求的各项功能。本文从系统总体架构实现、系统模块实现、用户体验实现几个方面展开详细叙述了整个过程。

关键词:教学编排系统,自动化,MVC模式:ASP.NET

参考文献

[1]宁葵.访问控制安全技术及应用[M].电子工业出版社, 2005.

[2]Chris Ullman, Chris Goode.ASP.NET入门经典-C#编程篇[M].第1版.康博译.清华大学出版社, 2002.

[3]Bill Evjen, Scott Hanselman, Farhan Nuhammad.Professional ASP[M].NET 2.0.Wiley Publishing, 2006.

ASP.NETMVC 篇5

一、系统功能需求

系统应通过数字化校园平台, 为涉及迎新工作的部门 (招生、财务、后勤、各院系等) 和用户 (新生、辅导员等) 提供统一的服务入口。通过交互界面, 实现新生、迎新业务部门、迎新接待人员与系统的服务交互, 可以完成对迎新相关数据的实时统计与分析, 对迎新工作进行有效管理, 对迎新的后续工作进行安排和全程管理。

(一) 支持统一身份认证

系统应当立足于现有数字化校园网, 通过数据接口, 利用Web Services技术封装成对应的Web服务, 用统一的方式暴露接口, 用WSDL (Web Service Description Language, Web服务描述语言) 语言进行描述, 采用HTTP/SOAP协议作为系统与外界的通信方式, 实现与现有校园网平台的无缝对接。

(二) 支持业务流程重构

系统应该能够以学校数据中心为依托, 建立跨越多个应用系统的、可重构的业务流程。迎新流程可门提供报到管理、信息服务, 同时还可以为各个职能部门提供实时、准确的新生信息。学校可以根据新生报到情况, 及时调整迎新方案, 优化资源配置, 全面提升管理与服务质量。

(三) 支持数据统计与分析

系统的重要任务之一, 就是能够对系统数据进行处理与统计, 能够生成相关统计数据及业务报表, 能为管理者提供科学、准确的决策依据, 及时调整迎新方案, 优化资源配置, 全面提升服务质量。

二、系统设计

迎新系统是立足于服务新生、服务学校各部门及院系用于迎新工作的平台, 能与数字化校园网实现有效兼容, 能为迎新相关的业务部门提供统一的服务平台。

(一) 系统总体架构

新生报到是一项十分复杂的系统工程, 需要多个部门密切配合, 该过程是一个动态过程, 需要充分考虑各种因素的可变性。为提高开发效率, 增加程序的可维护性和拓展性, 实现表示层、业务逻辑层和数据访问层的分离, 本系统应用ASP.NET MVC框架来完成开发, 其架构模式如图1所示。

(二) 系统技术方案

开发平台选用微软的Visual Studio 2013, 开发语言选用C#;从软件工程的角度和方法出发, 运用Power Designer (Sybase公司的CASE工具集) 建模工具对系统进行数据库模型设计, 并运用软件工程中的PSP等理论进行项目的需求分析和项目的开发过程管理;选用SQL Server 2012作为后台数据库。

(三) 系统业务流程

新生报到时涉及的部门广, 操作流程复杂, 并且部门间交互频繁, 很容易出现手续漏办、错办等现象。因此, 把新生入学报到业务流程划分为新生报到前期处理流程和新生报到现场流程, 使系统的业务处理更加规范化。

1. 新生报到前期处理流程。

新生报到前期处理流程为:招生处将各省市的录取信息转学院教务处, 教务处将录取信息规范化后导入新生管理系统, 并初始化数据库相应表。新生可以通过学院迎新网申请绿色通道、专业变更等, 然后学工部可以对新生绿色通道的申请进行审批处理, 教务处可进行分班和专业变更处理, 班级分配结束后, 后勤处进行宿舍分配, 财务处设置好各班级的收费标准, 为新生现场报到作好的迎新基础数据, 其数据流程图如图2所示:

2. 新生报到现场处理流程。

新生在报到时首先到招生办进行入学资格审查, 审核通过后再到教务处进行班级分配, 分配完班级后到财务处办理缴费手续, 凭缴费凭证办理入住手续, 完成后到各系部报到注册。新生报到数据处理流程图如图3所示:

三、系统实现

(一) 数据库设计

数据库设计是应用系统设计的重要部分, 数据结构的好坏直接影响系统实现效果、数据操作效率, 以及数据的一致性、完整性和安全性。根据对系统做出的分析, 设计出了能够满足用户需求的各种实体以及它们实体间的关系。系统的数据库主要由用户表 (User) 、权限表 (authority) 、录取学生表 (Student) 、报表 (Report) 等组成。

(二) 模型层设计

在MVC框架中, Model (模型) 表示应用程序的数据对象, 以及相应的业务领域逻辑, 包括数据验证和业务规则, ASP.NET MVC框架支持使用任意数据访问技术, 选择.NET数据访问技术实现Model, 迎新系统使用LINQ TO SQL创建一个简单的业务领域模型, 将映射User (用户表) 和Student (学生表) 数据表到Users和Students模型类中, 每一个User和Student对象将表示Users或Students数据表中的一条单独的数据记录。VS.NET平台会为每一个LINQ to SQL设计器文件自动生成LINQ TO SQL Data Context类。Data Context类中2个属性Users、Students分别表示建模的2个数据表。使用LINQ查询语句访问这些属性, 可以从数据库查洵和检索User和Student对象, 下面以Student对象为例, 其代码实现如下:

(三) 控制器层设计

基于MVC框架是将用户请求的URL地址映射到类的方法上, 这些类就是MVC中的Controller控制器, 负责处理用户请求, 接收和保存数据, 并将结果返回给客户端 (显示HTML、下载文件、重定向到不同的URL地址等) 。ASP.NET MVC拥有强大的URL路由引擎, 允许完全定制选择controller类, 以及从URL/Querystring中自动解析变量值, 并作为参数传递给方法。在迎新系统中, Students Controller控制器类包括显示列表, 显示详细, 以及HTTP GET和HTTP POST请求方式下的增加, 编辑, 删除等Action方法。使用创建的Student Repository类来实现这些方法, 下面的代码将实现增加操作:

(四) 视图层设计

在ASP.NET MVC应用程序中, 应用程序中页面的URL地址并不是在服务器中实际存在的页面或目录, 而是访问相应的方法, ASP.NET MVC应用程序通过Global.ascx和Controllers实现了URL地址映射。当用户进入ASP.NET MVC页面提交请求时, 该请求首先会被发送到Controller控制器, 然后调用相应的视图模型。在迎新系统中, 使用创建的Studentinfo类并将其添加到Student.Web UI项目的Models文件夹中, 便于在控制器和视图之间传递数据, 其代码实现如下:

四、结语

通过建立ASP.NET MVC架构模式, 能较好地实现迎新系统相关的功能, 如:系统管理、数据管理、报到管理、住宿管理、缴费管理、业务统计等, 能够在较短时间内完成迎新报到工作。系统具备高内聚, 低耦合的特性, 可以更高效的完成系统的维护与开发, 持续的支持业务的拓展, 在实际应用中, 具有一定的推广和应用价值。

参考文献

[1]Adam Freeman著, 李萍等译精通ASP.NET MV4.人民邮电出版社, 2014, 10.

[2]周文红.基于ASP.NET MVC框架的Web应用开发[J].计算机与现代化, 2013, (10) .

[3]黄胜根, 陈蜀宇.基于ASP.NET MVC框架的干教系统的设计与实现[J].计算机技术与发展, 2010, (02) .

ASP.NETMVC 篇6

关键词:ASP.NET,MVC,在线财务查询系统

0引言

随着高校办学规模的不断扩大, 师生人数大幅增长, 产生了大量的财务信息。财务信息直接关系到广大师生的切身利益, 某些高校财务处采用了短信等方式通知财务资金发放情况。但这些传统的财务信息公布方式远远不能满足广大师生对财务数据及时度、准确度和汇总分析的需求, 也没有形成师生与财务处的良性互动。为了进一步推进数字化校园的应用, 建立完善的在线财务信息系统, 成为提高高校财务处管理水平和服务质量的关键举措。

1ASP.NET MVC框架

MVC模式是一种应用较为广泛的结构设计模式, 被大量应用于企业级Web应用。ASP.NET MVC Framework由微软官方2009年3月19日正式发布, 它提供了一个基于MVC模式的ASP.NET Web应用程序框架。ASP.NET MVC框架是一个轻量级、高度可测试的框架, 结合了ASP.NET特性 (如母版页等) , MVC框架被定义在System.Web.Mvc命名空间, 并且被System.Web命名空间支持。

ASP.NET MVC简化了ASP.NET Web表单编程中的复杂成分, 在系统开发中引入模型-视图-控制器模式, 有助于系统研发人员以松耦合方式进行研发。ASP.NET MVC具有以下优点:①把项目划分为模型-视图-控制器层, 使得复杂项目更易维护;②不使用view state和服务器表单控件, 使应用程序的行为控制更方便;③通过控制层来控制程序请求, 可提供丰富的url重写;④对单元测试的支持更加出色;⑤团队开发模式表现更出众;⑥增加了地址重写, Routing组件让项目组可以进行URL路由处理。

2系统分析与设计

2.1系统功能模块设计

系统改变传统的财务信息查询方式, 通过该系统, 教职工能够查询工资等资金发放情况, 学生能够查询自己的交费情况, 部门领导能够查询部门经费使用情况等, 使得教职工、学生、部门领导能及时了解财务信息。系统功能结构如图1所示。

系统包括三个子系统:前台查询、后台管理和数据导入/导出。前台主要模块功能说明如下:①职工查询, 主要是针对全校教职工工资、津贴和个人项目账、往来暂付款账等进行信息查询的模块;②学生查询, 主要是针对全校学生缴费、欠费及院部学生学杂费收缴统计情况等进行信息查询的模块;③部门查询, 主要是针对全校部门、院部预算、项目经费的借还款情况、收支明细情况和当前余额情况等进行信息查询的模块;④财务通知, 发布和查询财务处发出的各类财务通知。

2.2系统的架构设计

系统采用ASP.NET MVC架构模式, 系统的总体架构设计框架如图2所示。视图层负责生成应用系统的用户接口, 仅仅为填充来自控制层数据的HTML模板;模型层负责实现应用系统的数据逻辑, 它描述的是业务对象;控制层负责响应用户的输入和交互情况, 它是视图与模型之间的粘合剂。请求来自客户端并由控制器进行服务, 控制器选择一个相应的视图向用户进行显示, 而且如果需要, 执行模型上的一个相关操作。

2.3数据库服务器运行环境

系统数据库服务器的配置环境如表1所示。

2.4系统的数据接口设计

为了确保不影响日常财务业务, 系统对在线财务查询系统设置单独的查询库。财务信息查询系统里的信息绝大多数来源于财务会计信息系统, 而会计信息系统往往运行在其它独立的服务器上, 除此之外, 职工和学生的账户信息来源于学校的教务系统。目前, 系统数据库与相关系统数据库的交互如图3所示。

查询库信息更新的及时性直接关系到系统的应用效果, 财务信息查询系统不仅是相关信息的查询, 系统管理人员还需要对其它财务相关信息进行合理的栏目设置和信息内容的更新, 收集教职工的反馈意见, 经整理后进行改进, 以更好地为广大教职工服务。系统与其它系统的数据交互采用EXCEL文件进行导入或导出。

2.5系统的数据库设计

数据库设计是针对一个指定的应用环境和系统, 构造最优的数据库模式, 建立数据库及其应用系统数据结构, 有效存储数据, 满足用户信息查询要求和处理要求。数据库结构设计的好坏直接对系统的效率及实现的效果产生影响, 合理的数据库设计可以提高数据存储和检索的效率, 保证数据的完整性和一致性。

针对在线财务查询系统的需求, 通过对网上教学管理工作过程和数据流程的分析, 主要设计如下所示的数据表, 如表2所示。

3系统实现

本文设计的在线高校财务查询系统, 整体上采用面向对象的思想, 系统前端开发平台采用Visual Studio2010提供的ASP.NET MVC3进行实现, 后端数据库使用Oracle公司的Oracle11g数据库建立数据平台。

目前, 该系统已在本校的财务处站点上正式运行, 运行情况正常, 用户反映良好。教职工登录后, 可以查询到完整的资金发放信息, 查询统发工资的界面如图4所示。

4结语

经过1年多的研究和实施, 在项目组成员的共同努力下, 于2012年4月, “在线财务查询系统”在广东科学技术职业学院财务处Web服务器上发布和部署, 该系统得到了校财务处领导和工作人员的认可。该系统的实施和运行, 提高了校财务工作的信息化服务水平, 同时推动了计算机信息管理专业的建设。

参考文献

[1]张联锋.ASP.NET3.5程序设计与项目实践[M].北京:电子工业出版社, 2011.

[2]周文琼, 王乐球, 曹重, 等.基于ORACLE物化视图的电力营销系统的优化[J].东莞理工学院学报, 2012 (6) .

【ASP.NETMVC】推荐阅读:

上一篇:声乐二度创作下一篇:变量模式

本站热搜

    相关推荐