ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:547.83KB ,
资源ID:20373056      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20373056.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C#开发案例在线考试系统及GridView控件使用Word格式文档下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C#开发案例在线考试系统及GridView控件使用Word格式文档下载.docx

1、 教师权限教师登录后,可对试题基本信息进行添加、修改、查询及删除操作。同时对学生考试成绩进行查询及删除操作。如果教师对现有的密码不满意,还以修改自己的密码,如图1.9所示。图1.9 教师权限11.3.4 业务流程图 488 在线考试系统业务流程图如下:11.3.5 程序运行环境 489本系统对其运行环境有一定的要求,具体如下:系统开发平台:Microsoft Visual Studio2008系统开发语言:C#数据库管理系统软件:Microsoft SQL Server 2005运行平台:Windows XP(SP2)以及以上版本运行环境:Microsoft.NET Framework SDK

2、 v3.5分辨率:最佳效果1024*768像素11.3.6 数据库设计 489dbo.tb_Admin存储管理员信息dbo.tb_Lesson存储课程信息dbo.tb_score存储考试成绩信息dbo.tb_Student存储学生信息dbo.tb_Teacher存储教师信息dbo.tb_Test存储试题信息11.3.7 数据库概念设计 489 即描绘各个数据表的实体E-T图11.3.8 数据库逻辑结构设计 49011.3.9 文件夹组织结构 492 每个网站都会有相应的文件夹组织结构,如网站中网页数目很多,可以将所有的网页及资源放在不同的文件夹中。如果网站中网页不是很多,可以将图片、公共类或者

3、程序资源文件放在相应的文件夹中,而网页可以直接放在网站根目录下。本系统是按照前者组织文件夹结构排列的。11.4 公共类设计 49311.5 登录模块设计 49511.5.1 登录模块概述 495 不是所有人都可以参加在线考试系统,系统默认是不允许匿名登录的,只有使用管理员分配的账号和密码才能登录。11.5.2 登录模块技术分析 495 登录模块中,使用了验证码技术来防止用机器人软件反复自动登录。该技术是通过Random类实现的。 Random类:表示伪随机生成器,一种能够产生满足某些随机性统计要求的数字序列的设备,该类中最常用的是Random.Next方法。 Random.Next方法用于返回

4、一个指定范围内的随机数。语法如下: public virtual int Next (int minValue,int maxValue)参数说明:minValue:返回随机数下界。maxValue:返回随机数上界。返回值:一个大于或等于minValue且小于maxValue的32位带符号整数。11.5.3 登录模块实现过程 49611.6 随机抽取试题模块设计49711.6.1 随机抽取试题模块概述 49711.6.2 随机抽取试题模块技术分析 49811.6.3 随机抽取试题模块实现过程 49911.6.4 单元测试 50211.7 自动评分模块设计50311.7.1 自动评分模块概述 5

5、0311.7.2 自动评分模块技术分析 50311.7.3 自动评分模块实现过程 50411.8 试题管理模块设计50511.8.1 试题管理模块概述 50511.8.2 试题管理模块技术分析 50511.8.3 试题管理模块实现过程 50711.8.4 单元测试 51211.9 后台管理员模块设计 51311.9.1 后台管理员模块概述 51311.9.2 后台管理员模块技术分析 51411.9.3 后台管理员模块实现过程 51411.10 开发技巧与难点分析 526 开发在线考试系统的随机抽取试题模块时,为了防止考生刷新考试页面后产生错误的考试结果,使用JavaScript脚本限制了鼠标右

6、键、F5刷新键及BackSpace键,从而达到防止刷新的目的,使得考试页面更加安全、合理。关键代码如下: 在区域添加如下代码,当按某个键时激发keydown函数,并且屏蔽右键和选择功能。 在线考试系统通过JavaScript脚本实现考试计时功能,规定考试在指定时间内交卷;否则,达到限定时间后,系统会强行提交试卷,并对其进行评分。11.11 GridView控件应用 527 具体代码在ExamOnLine/teacher /TExaminationResult.aspx中。GridView控件是ASP.NET的DataGrid控件的后继者。它是一个功能非常强大的通用控件,可以处理简单而常见的操作

7、,如分页、排序、编辑或删除数据等。以尽可能少的数据实现双向数据绑定,该控件与新的数据源控件系列紧密结合,而且只要底层的数据源对象支持,它还可以直接处理数据源更新。它能定义多个主键字段、新的列类型以及样式和模板选项。GridView支持大量属性,有如下几大类:行为、可视化设置、样式、状态和模板。GridView的常用行为属性:属性说明AllowPaging 指示该控件是否支持分页;AllowSorting指示该控件是否支持排序;AutoGenerateColumns指示是否自动地为数据源中的每个字段创建列,默认为True;AutoGenerateDeleteButton指示该控件是否包含一个按钮

8、列以允许用户删除映射到被单击行的记录;AutoGenerateEditButton指示该控件是否包含一个按钮列以允许用户编辑映射到被单击行的记录;AutoGenerateSelectButton指示该控件是否包含一个按钮列以允许用户选择映射到被单击行的记录;DeataMember指示一个多成员数据中的特定表绑定到该网格。该属性与DataSource结合使用。如果DataSource是有一个DataSet对象,则该属性包含要绑定的特定表的名称DataSource获得或设置包含用来填充该控件的值的数据源对象;DataSourceID指示所绑定的数据源控件EnableSortingAndPaging

9、Callbacks指示是否使用脚本回调函数完成排序和分页。默认情况下禁用;RowHeaderColumn用作列标题的列名,该属性旨在改善可访问性;SortExpression获得当前排序表达式;UseAccessibleHeader规定是否为列标题生成标签(而不能标签)。GridView控件的模板属性:EmptyDataTemplate指示该控件绑定到一个空的数据源时要生成的模板内容。如果该属性和EmptyDataText属性都设置了,则该属性优先采用。如果两个属性都没有设置,则把该网格控件绑定到一个空的数据源时不生成该网格;PagerTemplate指示要为分页器生成的模板内容。该属性覆盖我

10、们可能通过PagerSettings属性作出的任何设置。GridView控件的状态属性:BottomPagerRow返回表示该网格控件的底部分页器的GridViewRow对象;Columns获得一个表示该网格中的列的对象的集合。如果这些列是自动生成的,则该集合总是空的;DataKeyNames?获得一个包含当前显示项的主键字段的名称的数组;DataKey获得一个表示在DataKeyNames中为当前显示的记录设置的主键字段的值;EditIndex获得和设置基于0的索引,标识当前以编辑模式生成的行;FooterRow返回一个表示页脚的GridViewRow对象;HeaderRow返回一个表示标题

11、的GridViewRow对象;PageCount 获得显示数据源的记录所需的页面数;PageIndex 获得或设置基于0的索引,标识当前显示的数据页;PageSize指示在一个页面上要显示的记录数;Rows 获得一个表示该控件中当前显示的数据行的GridViewRow对象集合;SelectedDataKey 返回当前选中的记录的DataKey对象;SelectedIndex获得和设置标识当前选中行的基于0的索引;SelectedRow返回一个表示当前选中行的GridViewRow对象;SelectedValue返回DataKey对象中存储的键的显式值。类似于SelectedDataKey;To

12、pPagerRow返回一个表示网格的顶部分页器的GridViewRow对象。GridView 控件激发的事件:PageIndexChanging/ed 这两个事件都是在其中一个分页器按钮被单击时发生。它们分别在网格控件处理分页操作之前和之后激发;RowCancelingEdit 在一个处于编辑模式的行的Cancel按钮被单击,但是在该行退出编辑模式之前发生;RowCommand 单击一个按钮时发生;RowCreated 创建一行时发生;RowDataBound 一个数据行绑定到数据时发生;RowDeleting,RowDeleted 这两个事件都是在一行的Delete按钮被单击时发生。它们分别

13、在该网格控件删除该行之前和之后激发;RowEditing 当一行的Edit按钮被单击时,但是在该控件进入编辑模式之前发生;RowUpdating,RowUpdated这两个事件都是在一行的Update按钮被单击时发生。它们分别在该网格控件更新该行之前和之后激发;SelectedIndexChanging/ed 这两个事件都是在一行的Select按钮被单击时发生。它们分别在该网格控件处理选择操作之前和之后激发;Sorting,Sorted 这两个事件都是在对一个列进行排序的超链接被单击时发生,它们分别在网格控件处理排序操作之前和之后激发。GridView绑定对列进行配置:如下代码把一个数据绑定的

14、列添加到网格中:asp:GridView ID=GridView1 runat=server DataSourceID=SqlDataSource1ColumnsBoundField DataField=companyname HeaderText=产品名称 /ColumnsEmptyDataTemplate/EmptyDataTemplate/asp:GridViewGridView中的绑定列,这些列字段类都继承DataControlField:BoundField 默认的列类型。作为纯文本显示一个字段的值;ButtonField作为命令显示一个字段的值。我们可以选择链接按钮或按钮开关样式;

15、CheckBoxField作为一个复选框显示一个字段的值,它通常用来生成布尔值;CommandField 是ButtonField的增强版本,表示一个特殊的命令,诸如Select、Delete、Insert或Update,该属性对GridView控件几乎没什么用;该字段是为DetailsView控件定制的;HyperLinkField作为超链接显示一个字段的值。单击该超链接时,浏览器导航到指定的URL;ImageField 作为一个HTML标签的Src属性显示一个字段的值,绑定字段的内容应该是物理图像的URL;TemplateField 为列中的每一项显示用户定义的内容GridView列的公共

16、属性,代表每个列类型实际提供的属性的一个子集;AccessibleHeaderText 表示Assistive Technology设备的屏幕阅读器读取的缩写文本的文本;FooterStyle获得该列的页脚的样式对象;FooterText获得和设置该列的页脚的文本;HeaderImageUrl获得和设置放在该列的标题中的图像的URL;HeaderStyle获得该列的标题的样式对象;HeaderText获得和设置该列的标题的文本;InsertVisible指示当它的父数据绑定控件处于插入模式时,该字段是否可见;ItemStyle获得各列的单元的样式对象;ShowHeader指示是否生成该列的标题

17、;获得和设置该列的标题被单击时用来排序网格的表达式;绑定字段BoundField类表示在一个数据绑定控件(诸如GridView 或DetailsView)中作为纯文本显示的一个字段。为了规定要显示的字段,把DataField属性设置为该字段的名称,要在头部或页脚部分显示一个标题,请分别设置HeaderText和FooterText属性;按钮字段按钮字段表示我们希望通过一个服务器端事件处理的任何操作,当该按钮被单击时,页面回发并激发一个RowCommand事件。超链接字段超链接列把用户指向一个不同的URL,该URL可以有选择地在一个内部框架中显示出来。如:HyperLinkField ID=Hy

18、perLinkField1 DataNavigateUrlFields=id DataNavigateUrlFormatString=Flower.aspx?id=0 DataTextField=name鲜花当用户单击该按钮时,浏览器用Flower.aspx?id=XXX将鲜花id传出CheckBox字段 CheckBoxField列是显示一个复选框的一个较简单的绑定列.图像字段I mageField列类型表示一个在数据绑定控件中作为图像显示的字段。模板字段有时候我们需要一些特殊格式的绑定字段,是定制列。这可以通过使用模板得到的结果。TemplateField列为该网格中的每一行提供一个个性化

19、用户界面,这完全是由页面开发人员定义的,我们可以为名生成阶段定义模板,包括默认视图、原地编辑、标题和页脚。GridView控件支持的模板AlternatingItemTemplate定义交替行的内容和外观,如果没有规定模板,则使用ItemTemplate;EditItemTemplate定义当前正在编辑的行的内容和外观。该模板包含输入字段,而且还可能包含验证程序;FooterTemplate定义该行的页脚的内容和外观;HeaderTemplate定义该行的标题的内容和外观;ItemTemplate定义该行的默认内容和外观。一个模板化视图可以包含对我们正在创建的应用程序有意义的东西:服务器控件、

20、文字和数据绑定表达式。数据绑定表达式允许我们插入当前数据行中包含的值,然而,并非所有的模板都支持数据绑定表达式。如下代码说明了如何为一个产品定义项目模板。该列显示在现行上,并包括产品的名称和一些有关产品包装的信息。TemplateFieldItemTemplate%# Eval(productName) %br/ available in数据绑定语法ASP.NET中,有如下两种数据绑定语法:1、使用Eval方法可计算数据绑定控件的模板中后期绑定数据表达式。Eval方法以数据字段的名称作为参数Eval方法可诸数据绑定控件的模板中的后期绑定数据表达式。在运行时,Eval方法调用DataBinder

21、对象的Eval方法,同时引用命名容器的当前数据项。命名容器通常是包含完整记录的数据绑定控件的最小组成部分,如GridView控件中的一行。Eval方法以数据字段的名称作为参数,从事数据源的当前记录返回一个包含该字段值的字符串。字符串格式参数使用String类的Format方法定义的语法。Eval是只读的方法论(定向数据绑定),绑定的内容为不会提交回服务器。比如用户名,并不想让用户做任何修改,可以使用:UserName).ToString.Trim() %Eval还有一个重载的方法,可以实现格式化。比如需要用户的注册时间,可以使用:RegTime,0:dd/MM/yyyy其中0代表对应的Publ

22、ishDate字段,而dd/MM/yyyy指明了最终显示文本的格式,它可能会显示为17/07/2009.2、使用Bind方法Bind方法与Eval方法有一些相似之处,但也存在很大的差异。虽然可以像使用Eval方法一样使用Bind方法来检索数据绑定字段的值,但当数据可以被修改是地,还是要使用Bind方法。Bind方法通常与输入控件一起使用,例如由编辑模式中的GridView行所呈现的TextBox控件。当数据绑定控件将这些输入控件作为自身呈现的一部分创建时,该方法便可提取输入值。Bind方法支持读/写功能(双向数据绑定),该方法常常与输入控件(比如TextBox控件)一起使用,达到可更新数据的目

23、的。比如图书的标题可以修改,可以设置为:%# Bind(TitleGridView深入1、高亮显示当我们的鼠标移动到GridView的某一行时,该行加亮显示,代码如下:protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) /判断是否为数据行,即排除表头和尾if (e.Row.RowType = DataControlRowType.DataRow) e.Row.Attributes.Add(onmouseover, currentcolor=this.style.backgroundColor;

24、this.style.backgroundColor=yellow,this.style.fontWeight=bold);onmouseoutthis.style.backgroundColor=currentcolor,this.style.fontWeight= 如果需要高亮显示的不是整行,而是某个单元格,也可以使用该方法,比如我们要高亮显示价格是199.00的单元格,代码为:if (flower.Models.Product)e.Row.DataItem).Price.Trim() = ) e.Row.Cells3.BackColor = System.Drawing.Color.Ye

25、llow;2、删除提示我们在做删除操作的时候,都会需要一个提示,当用户确认后才进行删除操作,对于这种情况,我们一般采用模板列进行处理。LinkButton ID=LinkButton1 OnClientClick=javascript:return confirm(记录一旦删除不可恢复,确认要删除吗?) CausesValidation=false CommandName=Delete Text=删除LinkButton3、GridView结合复选框的全选效果有时候,我们需要删除多条记录,为方便用户使用,我们不希望每条记录删除一次,而希望有一个复选框,可以一次删除多条记录,而不是一次次的点删除确认。这时,可以使用复选框来实现多选的效果。首先,创建模板列,并在其中放置CheckBox控件,编写客户端脚本,代码如下:script language=javascript function GetAllCheckBox(CheckAll) var items = document.getElementsByTagName(input

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1