收藏 分销(赏)

ASPNET开发环境课件全书电子教案课件.ppt

上传人:丰**** 文档编号:12068198 上传时间:2025-09-05 格式:PPT 页数:428 大小:6.28MB 下载积分:25 金币
下载 相关 举报
ASPNET开发环境课件全书电子教案课件.ppt_第1页
第1页 / 共428页
ASPNET开发环境课件全书电子教案课件.ppt_第2页
第2页 / 共428页


点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,二级,三级,四级,五级,ASP.NET,开发环境,第,1,章,第一章,ASP.NET,开发环境,首,先对,Web,基础知识有些初步了解;在此基础上,学习、掌握,ASP.NET,开发环境的安装、配置、测试方法,并利用,Visual Studio 2017,开发环境创建一个动态网站。通过本章内容的学习,读者可以达到以下学习目的:,了解,Web,系统三层结构的含义。,掌握,IIS,、,Framework,和,Visual Studio 2017,的安装方法。,掌握,ASP.NET,网站开发环境的配置方法。,了解,ASP.NET,网站页面处理过程。,掌握利用,VS2017,创建网站的方法,。,第一章,ASP.NET,开发环境,通,过对本章内容的学习,读者可以掌握,ASP.NET,网站环境设置的相关知识,并能够成功创建一个能够动态显示用户登录信息的,ASP.NET,网页(根据用户输入的不同用户名,动态显示用户信息),效果如图,1-1,所示。,1.2.1 C/S,结构和,B/S,结,构,C/S,(,Client/Server,,客户端,/,服务器)结构是软件系统的一种常见体系结构,它可以充分利用,Client,端和,Server,端的硬件条件优势,将任务合理地分配到客户端和服务器端来完成,从而达到有效降低系统通信开销的目的。目前,大多数应用软件开发都是,C/S,形式的两层结构来实现的,未来的应用软件也正在向分布式,Web,应用发展。由于,Web,和,C/S,应用都可以进行同样的业务处理,只是应用了不同的模块共享逻辑组件。因此,内部的和外部的用户都可以访问新的和已有的应用程序,通过现有应用系统中的逻辑扩展出新的应用系统,这也是未来应用系统的一个发展方向。,1.2.1 C/S,结构和,B/S,结构,B/S,(,Browser/Server,,浏览器,/,服务器)结构是随着,Internet,技术的兴起,对,C/S,结构的一种变化或者改进的结构。在这种结构下,用户工作界面通过,WWW,浏览器来实现,极少部分事务逻辑在前端浏览器(,Browser,)实现,而主要事务逻辑集中在服务器端(,Server,)实现,形成三层结构。这样就大大减轻了客户端计算机的负担,减轻了系统维护与升级的成本和工作量,客户端只需要安装浏览器,就可以完成相应的操作。,1.2.1 C/S,结构和,B/S,结构,相比较而言,,C/S,结构是建立在局域网基础上的,而,B/S,结构则主要是建立于广域网基础上的。以目前的网络发展和开发技术来看,采用,B/S,结构通过,Internet/Intranet,模式进行数据库访问的网络应用,能够实现不同接入方式(如,LAN,、,WAN,、,Internet/Intranet,等)访问和操作,在系统开发难易程度和数据库安全,以及系统的后期维护等多个方面,都具有显著优势,从而被广大软件开发人员所青睐。,1.2.2 Web,系统三层架构,Web,系统的三层架构,指的是将系统的整个业务应用划分为表示层、业务逻辑层和数据访问层,如图,1-2,所示。架构中的层与层之间相互独立,任何一层的改变都不影响其它层的功能,从而能够有利于系统的开发、维护、部署和后期扩展。,(,1,)表示层:负责直接与用户进行交互,一般是指系统界面,用于数据输入和结果显示等,完成人机之间的交互。,(,2,)业务逻辑层:主要负责系统数据有效性的验证工作,以便更好地保证程序运行的健壮性,如数据输入的格式、值域范围验证等。,(,3,)数据访问层:负责完成对后台数据库的数据操作,如执行数据的添加、修改和删除等命令。,1.2.3 ASP.NET,工作原理,客户端通过浏览器向,Web,服务器发送访问请求,然后,Web,服务器再向数据库服务器提出操作请求,数据库服务器根据请求对数据进行相应的数据处理,再把数据处理结果返回到,Web,服务器,,Web,服务器将最终结果显示到客户端浏览器。此过程是典型的动态网页工作原理。,1.2.3 ASP.NET,工作原理,使用,MSIL,具有以下,3,个方面的好处。,(,1,)通过,JIT,(,Just In Time,)编译器将,MSIL,编译成机器码,由于不同的计算机系统支持不同的,JIT,编译器,因此将相同的,MSIL,通过不同的,JIT,编译器编译后,便能实现,MSIL,的跨平台运行。,(,2,)采用,MSIL,实现了,.NET,框架对多种程序语言的支持,因为任何可编译成,MSIL,的程序语言,都可以被,.NET,应用程序所使用,如常见的,C#,、,VB,等。,(,3,),ASP.NET,程序在第一次被访问时,程序先被编译成,MSIL,,再被调用执行。相对于,ASP,程序而言,该处理时间似乎变得更长。然而,当,ASP.NET,程序被再次调用时,系统将直接把,MSIL,编译后执行,其执行速度要明显快于,ASP,程序。由此一来,程序的总体执行效率得到了大幅度地提高。,1.3.1 ASP.NET,的运行环境,(,1,)操作系统。,Windows 7 SP1,、,Windows Server 2012,R2,及,其以上等各版本。考虑到,Windows 7,作为当前教育系统主流操作系统,本书采用,Windows 7,专业版操作系统进行介绍,其它版本的操作系统与之类,似。,(,2,)服务器软件,。,IIS6.1,、,.NET Framework 4.6,、,Microsoft Data Access,Components,,或,者此版本以上的高级软件版本。本书主要采用的是,IIS 6.1,,,.NET Framework V4.5,和,MDAC 2.6,版本。,(,3,)客户端软件,。本,书主要采用谷歌浏览器,Chrome 70.0,版本进行演示,为了获得更好的网页浏览效果,建议读者采用主流的高版本浏览器,如谷歌浏览器,Chrome,、微软,Edge,浏览器和火狐浏览器,Firefox,等,。,1.3.2,安装,IIS,服务,IIS,(,Internet Information Services,)是微软,Microsoft Windows,平台集成,的,重要,Web,技术。它的可靠性、安全性和可扩展性都表现得非常出色,,,能够很,好地同时支持多个,Web,站点,是微软公司主推的,Web,服务器。,IIS,为用户提供了简捷的方式共享信息,建立和部署企业应用程序,建立和管理,Web,网站。借助于,IIS,,用户可以轻松地完成测试、发布、应用和管理,Web,页面和,Web,站点。,1.3.2,安装,IIS,服务,1.3.2,安装,IIS,服务,1.3.3,安装,.NET Framework,1.3.4,测试,ASP.NET,环境,【例,1-1,】使用记事本创建第一个,ASP.NET,程序(,Ex01.aspx,)。,把文件保存为,Ex01.aspx,(,.aspx,是,ASP.NET,网页文件的扩展名),并移动“,C:inetpubwwwroot,”目录下(该目录为,IIS,信息服务默认站点的保存位置)。然后启动浏览器,在地址栏里输入,localhost/Ex01.aspx,,按,Enter,回车键确认。启动上述网页文,件。,1.3.4,测试,ASP.NET,环境,1.3.5,安装,Visual Studio,VS2017,社区版安装时,要求系统必须安装有,.NET Framework 4.6,以上版本软件作为基础,所以用户要事先安装,.NET Framework 4.6,,安装方法前面已经进行了介绍,。,(,1,)用户可以访问微软官方网站,Studio,1.4,初识,Visual Studio 2017,1.4.2,创建,ASP.NET,网站,【,例,1-2】,使用,VS2017,创建管理方案,并在该管理方案下创建一个,ASP.NET,网站。,(,1,)启动,VS2017,程序,依次执行“文件”“新建”“项目”命令,打开“新建项目”对话框,如,图,1-16,所示。,1.4.2,创建,ASP.NET,网站,(,3,)项目创建完成后,,VS2017,会自动打开该项目。用户可以通过右击“解决方案资源管理器”窗口的“解决方案,MyBooks,”,依次执行快捷菜单中的“添加”“新建项目,”,命,令,打开“添加,新,项,目”对话框,,如,图,1-17,所示。,1.4.3,创建,Web,页面,【,例,1-3】,在,Example,网站中创建,Default,页面,实现在文本框中输入用户姓名,单击“查看效果”按钮后,用户姓名动态地添加到欢迎语句(,Default.aspx,)。,1.5.1 IIS,创建网站,【例,1-4,】在,IIS,中创建网站,实现脱离,VS2017,软件环境浏览。,1.5.1 IIS,创建网站,1.5.1 IIS,创建网站,1.5.2,页面处理过程,在页面生命周期的每个阶段都可以引发一些事件,事件被引发时会执行相应的事件处理代码。同时,页面还支持自动事件连接,即,ASP.NET,将寻找具有特定名称的方法,并在引发特定事件时自动运行这些方法。例如,将,Page,指令的,AutoEventWireup,属性设置为,True,,页面事件将自动绑定至使用,Page_Event,命名约定的事件,如页面加载事件,Page_Load,和页面初始化事件,Page_Init,。,事件名称,说明,Page_PreInit,事件,网页生命周期中最早期引发的一个事件。常用于动态设置主题、母版页和创建动态控件,Page_Load,事件,页面加载时引发该事件,并以递归方式对页面中的每个控件元素执行加载操作,控件事件,用户自定义的控件事件,如,Button,的,Click,事件、,TextBox,的,TextChanged,事件等,Page_Unload,事件,该事件首先针对每个控件发生,继而针对页面发生。完成页面呈现后,程序完成后的清理工作,如断开数据库连接、删除对象和关闭文件等,1.5.2,页面处理过程,【例,1-5,】利用页面,IsPostBack,属性判断网页是否为第一次加载(,Ex1-2.aspx,)。,1.5.2,页面处理过程,protected void Page_Load(object sender,EventArgs e),if(!IsPostBack),Response.Write(,页面是第一次加载。,);,else,Response.Write(,注意,页面已经不是第一次加载了!,);,C#,编程基础,第,2,章,C#,编程基础,通过本章知识的学习,读者首先了解,C#,、,.NET Framework,基础知识和,C#,编程规范,掌握常见数据类型、变量和运算符基础知识,以及在此基础上掌握顺序、选择和循环结构等流程控制,并利用本章知识设计和实现网站管理员登录页面。通过本章内容的学习,读者可以达到以下学习目的:,了,解,C#,和,.NET Framework,基础知识。,了,解,C#,常见数据类型、常量、变量和运算符,以及编程规范知识。,掌,握顺序、选择和循环等流程控制结构的编程方法。,掌,握自定义操作类的使用方法。,掌,握随机数获取和使用方法。,2.1,情景分析,网站管理员登录界面包含用户名、密码和随机校验码,3,项内,容。,首先,页面对用户输入的校验码进行核对,只有校验码输入正确时才可以进行管理员身份验证。其次,判断用户名和密码是否正确,然后登陆后台管理页,面。,2.2 C#,基础,C#,语言是一种面向对象编程语言,是为开发,.NET,框架上的程序而设计的,不仅适用于,Web,应用程序开发,也适用于,Windows,应用程序开发,主要具备以下特点。,安,全性高。,C#,代码是在,.NET Framework,提供的环境下运行的,并不直接操作内存,从而增强了安全性。,程,序健壮性强。使用,C#,编程能够实现垃圾自动回收,即将不再使用的对象从内存中清除。同时,,C#,异常处理功能提供了结构化和可扩展的错误检测和恢复方法,能够很好的提高程序健壮性。,类,型统一。所有的,C#,类型都继承于根类型,Object,,共享一组通用操作。,编,程简易。,C#,完成支持组件编程,即,C#,可以将包含和自描述功能的软件组件,通过属性、方法和事件来提供编程模型,进行调用进行直接使用,从而大幅度降低了编程的难度,。,2.NET,Framework,命名空间,.NET Framework,提供了多种类,用于对系统功能的访问,这些类是建立应用程序、组件和控件的基础。在,.NET Framework,中,组织这些类的方式称为命名空间。,在,ASP.NET,网站中使用命名空间时,要采用,using,语句来实现,如“,using System;”,表示导入,System,命名空间。编程时,对已导入的命名空间所包含的类进行操作时,可以省略命名空间部分代码。如在没有导入,System,命名空间时,“,string strcall=”Hello”;”,会出现编译错误,这是因为,string,属于,System,命名空间中的对象,需要对命名空间进行事先引用,即“,using System;”,。,3,编程规范,规范程序编写代码,有助于提高程序的可读写和可维护性。用户在编写代码时,可以借助于,XML,文档注释方法(如单行代码注释采用“,/,注释内容”,多行代码注释采用“,/*,注释内容*,/”,)提高程序可读性。,用户在撰写代码时要注意变量和控件的命名,也要尽可能采用“见名知义”的命名方法。命名通常要考虑字母大小写规则,常见的命名方法有,Pascal,(帕斯卡)命名法和,Camel,(骆驼式)命名法。其中,,Pascal,命名法采用每个单词首字母大写,,Camel,命名法采用第一个单词首字母小写,其余单词首字母大写。,为了能够更好的编写程序代码,下面给大家一些参考建议。,定义常量时,常量名称全部采用大写字母(如,PI,)。,定义变量名称时,变量名不得采用单个字符(如,i,),局部变量除外。,定义变量名称时,可以采用“变量类型缩写,+,英文描述”形式表示(如,strMail,)。,定义控件名称时,可以采用“控件名缩写,+,英文描述”形式表示(如,txtName,)。,2.3,常量与变量,常量是指在程序运行过程中,其值不能被改变的量。合理使用常量,可以增加程序的可读写和易维护性。声明一个常量,必须使用,const,关键字,同时对其初始化。常量的数据类型可以是数值类型和引用类型,常量的访问修饰符有,public,、,private,等,。,【例,2-1,】定义一个常量,PI,,根据输入的半径值,计算圆形的面,积。,protected,void Button1_Click(object sender,EventArgs e),double radii=Convert.ToDouble(txtRadii.Text);,lblResult.Text=(radii*radii*PI).ToString();,2.3,常量与变量,2.3.2,变量,变量具有在程序运行过程中值可以变化的特性,必须先声明后使用。变量名长度任意,可以由数字、字母、下划线等组成,但第一个字符必须是字母或下划线。,C#,变量名是区分大小写的,变量的修饰符有,public,、,private,、,static,、,protected,等,。,2.4,数据类型与运算符,C#,是一门强类型的编程语言,它对变量的数据类型有严格规定。在定义变量的时候,必须事先声明变量的数据类型。同时,为变量赋值时也必须赋值于同类型的值,否则程序会报错。常用的基础数据类型有整数类型、浮点数类型、字符类型、布尔类型和日期时间类型等,。,1,整数类型,整数数据类型用来存储整数数据,即没有小数点的数值。在,C#,中,整数类型根据占用存储空间不同又分为字节型(,byte,)、短整型(,short,)、整型(,int,)和长整型(,long,),4,类,。,2.4,数据类型与运算符,2,浮点数类型,浮点数类型用来存储小数数值。在,C#,中,浮点数分为单精度浮点数(,float,)和双精度浮点数(,double,)两种,默认小数是双精度浮点数,。,3,字符类型,字符数据类型用来存储字符数据。在,C#,中,有存储单个字符的,char,类型,以及存储多个字符组成的字符串,string,类型,。,4,布尔类型,布尔类型用来存储布尔值,true,和,false,,在,C#,中用,bool,表示,如“,bool flag=true;,”。,2.4,数据类型与运算符,5,日期时间类型,日期时间类型用来日期时间数据,在,C#,中用,DateTime,表示,如“,DateTime dt=DateTime.Now;,”。,除了上述数据类型外,,C#,还有枚举类型、结构型、引用类型和数组等多种数据类型,鉴于篇幅限制,不再一一介,绍。,2.4.2,数据类型转换,在,C#,中根,据转换方式不同,数据类型转换可以分为自动数据类型转换和强制数据类型转换,2,种。,1,自动数据类型转换,自动数据类型转换也叫隐式数据类型转换,指的是两种数据类型在转换过程中不需要显式声明,就可以完成数据类型的转换。要进行自动类型数据转换必须满足两个条件,一是两种数据类型必须兼容;二是目标数据类型的取值范围要大于源类型的取值范围,。,(,1,),byte,类型转换为,int,类型,,int,类型转换为,long,类型。,(,2,),float,类型转换为,double,类型,,int,类型转换为,float,类型。,(,3,),char,类型转换为,string,类型。,2.4.2,数据类型转换,2,强制数据类型转换,强制数据类型转换也叫显式类型转换,指的是两种数据类型之间的转换需要显式进行声明。如当两种数据类型不兼容,或者目标类型的取值范围要小于源数据类型,自动类型转换不能实现时,就需要使用强制数据类型转换来完成,。,(,1,)整数类型、浮点数类型和布尔类型转换为,string,类型,即数值转换为字符串,通常可以借助于,ToString(),方法实现。,(,2,)日期时间类型转换为,string,类型,可以借助于,ToString(),方法实现。,(,3,)日期格式的,string,类型转换为日期时间类型,可以借助于,Convert.ToDateTime(),方法实现。,(,4,),string,类型转换为,int,、,float,或,double,类型,可以借助于,Convert.ToInt32(),或,int.Parse(),方法实现。,2.4.2,数据类型转换,【,例,2-2】,使用多种数据类型变量,实现数据类型之间的转,换。,2.4.2,数据类型转换,protected void Page_Load(object sender,EventArgs e),byte x1=1;,int x2=10;,double x3=0.1;,char x4=H;,string x5=ello;,DateTime x6=DateTime.Now;,lblres1.Text=(x1+x2).ToString();/*x1+x2,属于自动数据类型转换,*/,lblres2.Text=(x2+x3).ToString();/*x2+x3,属于自动数据类型转换,*/,lblres3.Text=(x4+x5).ToString();/*x4+x5,属于自动数据类型转换,*/,lblres4.Text=x6.ToString();/*,强制数据类型转换,*/,2.4.3,运算符,运输符是具有计算意义的术语或符号,用于执行程序代码运算。它接收一个或多个操作数表达式,经过计算返回运算结果。根据操作数的个数多少不同,分为一元运算符、二元运算符和三元运算符。如取反运算符“!”是一元运算符,求和运算符“,+”,是二元运算符,条件运算符“,?:”,是三元运算符,。,C#,常用运算符可以分为算术运算符、关系运算符、逻辑运算符和赋值运算符等,根据运算符的计算优先级从高到低排,列,。,2.4.3,运算符,2.4.3,运算符,2.5,流程控制,顺序结构最为简单,即不包含选择和循环语句,程序从左到右、从上到下顺序执行。顺序结构是一种线性结构,也是程序设计中最简单、最常用的基本结构。其特点是按照语句的先后出现顺序,依次逐块执,行。,【例,2-3,】编程实现依次出现“想制作一个网站,怎么办?”、“一起学习,ASP.NET,。”和“我成功了,!,”,,每句话在单独的一,行,。,2.5,流程控制,protected void Page_Load(object sender,EventArgs e),string strbr=;,Response.Write(,想制作一个网站,怎么办?,);,Response.Write(strbr);,Response.Write(,一起学习,ASP.NET,。,);,Response.Write(strbr);,Response.Write(,我成功了!,);,2.5.2,选择结构,选择结构是通过执行判断进行不同的操作。在条件语句中,作为判断依据的表达式称为条件表达式,条件表达式的取值为布尔值,即真,true,或假,false,。在,C#,中,选择结构有,if,和,switch,两种,。,1,if,语句,if,语句是最常用的条件语句,它的功能是根据布尔表达式的值,选择要执行的语句序列。,if,语句的语法结构有,if,格式和,if-else,格式两种。,(,1,),if,格式,if,(条件表达式),语句系列,(,2,),if-else,格式,if,(条件表达式),语句系列,1,else,语句系列,2,2.5,流程控制,【例,2-4,】制作一个考试成绩评价网页,根据输入的成绩值,判断是否及,格,。,2.5,流程控制,请输入考试成绩:,你输入的成绩是,2.5,流程控制,protected void Button1_Click(object sender,EventArgs e),double dbScore=Convert.ToDouble(txtscore.Text);,if(dbScore=60),lblmes.Text=dbScore.ToString()+,,及格,;,else,lblmes.Text=dbScore.ToString()+,,不及格,;,2,switch,语句,switch,(控制表达式),case,常量,1,:,语句序列,1,case,常量,2,:,语句序列,2,.,default:,语句序列,n,2.5,流程控制,【例,2-5,】制作一个能够根据系统时间,判断当前是凌晨(,0:006:00,)、上午(,6:0012:00,)、下午(,13:0018:00,),还是晚上(,18:0022:00,),.,2.5,流程控制,当前时间是:,现在是,2.5,流程控制,protected void Page_Load(object sender,EventArgs e),DateTime dtnow=DateTime.Now;,lbltime.Text=dtnow.ToString();,int an=dtnow.Hour/6;,switch(an),case 0:,lblmes.Text=,凌晨,;,break;,case 1:,lblmes.Text=,上午,;,break;,case 2:,lblmes.Text=,下午,;,break;,default:,lblmes.Text=,晚上,;,break;,2.5.3,循环结构,循环语句用于重复执行一个程序语句序列,如实现,1+2+3+.+100,重复计算,99,次加法运算。针对这种问题,使用循环结构,就可以很简单的完成。在,C#,中,循环结构有,for,、,while,、,do.while,和,foreach,等,4,种语句。,1,for,语句,for,循环常用于已知循环次数的情况,循环体内语句序列可能执行,0,次或多次。其语法格式为:,for,(循环变量初始化;条件表达式;循环控制表达式),循环语句序列,2.5.3,循环结构,【例,2-6,】制作一个页面,能够实现数字累加运算,1+2+3+.+n,(,n,由用户输入决定),2.5.3,循环结构,请输入累加最大数字,n,:,1+2+3+.+n=,2.5.3,循环结构,protected void Button1_Click(object sender,EventArgs e),int sum=0;,for(int i=1;i=int.Parse(txtmax.Text);i+),sum+=i;,lblmes.Text=sum.ToString();,2,while,语句,while,(条件表达式),循环语句序列,【例,2-7,】制作一个页面,实现连续输出,26,个“,*,”号,2.5.3,循环结构,protected void Page_Load(object sender,EventArgs e),int i=1;,while(i=26),Response.Write(*);,i+;,3,do.while,语,句,do,循环语句序列,while,(条件表达式);,【例,2-8,】制作一个页面,实现数学阶乘计算,n,!,其中,n,由用户指定,3,do.while,语句,请输入要计算阶乘的整数,n,:,计算结果为:,3,do.while,语句,protected void Button1_Click(object sender,EventArgs e),int ss=1,i=1;,do,ss*=i;,i+;,while(i=int.Parse(txtkey.Text);,lblmes.Text=ss.ToString();,4,foreach,语句,foreach,(数据类型 循环变量,in,集合),循环语句序列,【例,2-9,】制作一个页面,使用,foreach,语句完成数组元素的读取,3,do.while,语句,protected void Page_Load(object sender,EventArgs e),string strname=,张莉,李小平,王盼盼,;,foreach(string sn in strname),Response.Write(,姓名:,+sn+);,2.5.4,异常处理,try,可能出错的语句序列,catch,(异常声明),捕获异常后执行的语句序列,finally,语句序列,【例,2-10,】制作一个页面,实现两个数字相除计算出商,使用,try.catch.finally,语句实现程序异常捕获,2.5.4,异常处理,2.5.4,异常处理,protected void Button1_Click(object sender,EventArgs e),try,double n1=Convert.ToDouble(txtNum1.Text);,double n2=Convert.ToDouble(txtNum2.Text);,lblmes.Text=,结果是:,+(n1/n2).ToString()+;,catch(Exception ee),lblmes.Text=,系统出现错误,;,lblmes.Text+=,提示信息:,+ee.Message+;,finally,lblmes.Text+=,程序执行结束,;,2.6,管理员登录页面设计,2.6,管理员登录页面设计,protected void Page_Load(object sender,EventArgs e),if(!IsPostBack),Random rdnum=new Random();,lblcheck.Text=rdnum.Next(1000,1999).ToString();,protected void Button1_Click(object sender,EventArgs e),try,if(txtcheck.Text=lblcheck.Text),if(txtname.Text=admin&txtpwd.Text=123),Sessionadmin=txtname.Text;,Response.Redirect(webmain.aspx);,else,Response.Write(alert(,用户名或密码有误,请重新输入,););,else,Response.Write(alert(,校验码输入不一致,请重新输入,););,catch(Exception ee),Response.Write(,程序运行错误,请检查,:+ee.Message);,2.7,知识拓展,用随机数实现网页验证码,在网页开发过程中时常被使用。,.Net Framework,提供了一个专门产生随机数的类,System.Random,,该类默认已被导入,用户编程时可以直接使用。如:,Random rd=new Random();int rdkey=rd.Next(100);,这里,Random,以系统时间做为参数,以此产生一个最大值为,100,的随机数。除此之外,我们还可以为随机数函数规定一个精确的范围,如,100999,:,Random rd=new Random();int rdkey=rd.Next(100,999);,2.7,知识拓展,【例,2-11,】制作一个页面,实现随机显示图,片,2.7,知识拓展,protected void Page_Load(object sender,EventArgs e),Random rd=new Random();,int rdkey=rd.Next(1,4);,lblnum.Text=,图像:,+rdkey.ToString();,imgpic.ImageUrl=imgs/,图像,+rdkey.ToString()+.jpg;,常用标准控件,第,3,章,常用标准控件,通过本章知识的学习,读者首先对服务器控件有些初步了解;掌握,TextBox、Label、Button、DropDownList,等常用控件的使用方法,以及利用表格进行网页页面布局的方法技巧,并利用本章知识设计和实现用户注册页面。通过本章内容的学习,读者可以达到以下学习目的:,了,解服务器控件基础知识。,掌,握文本控件(,Label、TextBox,控件)的使用方法。,掌,握选择控件(,RadioButtonList、CheckBoxList、DropDownList,控件等)的使用方法。,掌,握按钮控件(,Button、LinksButton、ImageButton,控件等)的使用方法。,掌,握利用表格进行页面布局的方法。,掌,握网页设计中容器控件的使用方法。,3.1,情景分析,企业网站为了给会员提供具有针对性的服务,需要建立会员注册、登录和会员管理等页面,。,3.2,服务器控件概述,1,服务器控件的属性和事件,服务器控件的属性,是指控件中具有的与用户界面特征相关的,或者与运行状态有关的字段。大部分服务器控件的属性可分为布局、数据、外观、行为和杂项等,5,类。布局类属性与页面控件元素的设置有关,如控件尺寸大小等;数据类属性包括与数据绑定相关的属性,如,DataSource,等;外观类属性包括背景色、字体格式等;行为类属性与控件运行时相关,如,Enable,和,Visible,等,;,事件是指程序得以运行的触发器(如,Button,控件的,Click,事件等),当用户与,Web,页面进行交互时,控件被触发,并通过执行事件程序做出相应的响应。与传统客户端窗体中的事件,或者基于客户端的,Web,应用程序中的事件相比,由服务器控件的引发事件在工作方式稍有不同。前者在客户端引发和处理事件,而后者则是与服务器控件关联的事件在客户端引发,由,ASP.NET,页面框架在,Web,服务器上处理。对于在客户端引发的事件,,Web,窗体控件事件模型要求在客户端捕获事件信息,并且通过,HTTP,将事件消息传输到服务器,。,3.2,服务器控件概述,公共对象模型。服务器控件是基于公共对象模型的,因此它们可以相互共享大量属性,这也是软件复用思想的体现。例如,,Label,控件和,Button,控件都有设置背景颜色的属性,它们都使用同一属性,BackColor,。,保存视图状态。传统的,HTML,元素是无视图状态的。当页面在服务器端和客户端之间来回传送时,服务器控件会自动保存视图状态。,数据绑定模型。,ASP.NET,服务器控件为使用多种数据源提供了方便,可以快速实现数据绑定和访问,大大简化了动态网页的数据访问进程。,用户定制。服务器控件为网页开发者提供了多种机制,定制属于自己的页面。例如,可以通过设置服务器控件的,CSS,属性来设置其外观。,配置文件。服务器控件在,Web,应用程序级别上,可通过,web.config,文件对程序进行配置,这使得开发人员可对程序的行为进行统一的控制或改变,而无须对应用程序本身进行重新编译或生产。,创建浏览器特定的,HTML,。当浏览器申请某个页面时,服务器控件会确定浏览器的类型,然后灵活生成适合该浏览器显示的,HTML,代码。,3.3,常用服务器控件,1,Label,控件,Label,控件用于在页面上显示文本信息,它不但支持静态文本显示,而且重点在于支持用户以编程方式动态显示文本。,Label,控件常用的属性有,ID,、,Text,和,Font,属性等。其中,,ID,表示控件标识,,Text,表示控件显示的文本内容,,Font,表示字体格式设置,如大小、颜色等。,【例,3-1,】利用,Label,控件动态显示,改,变,文本内容与显示格式,3.3,常用服务器控件,protected void Button1_Click(object sender,EventArgs e),lblmes.Text=DateTime.Now.ToString();,lblmes.ForeColor=System.Drawing.Color.Red;,lblmes.Font.Bold=true;,2,TextBox,控,件,TextBox,控件又称文本框控件,是用于输入任何类型的文本、数字或其它字符的文本区域。同时,,TextBox,控件也可以设置为只读控件,用于文本显示。,2,TextBox,控件,【例,3-2,】利用,TextBox,和,Button,控件制作用户登录页面,用户名最多支持,3,个字符,光标移出姓名文本框时,屏幕上出现动态提示文字。密码输入时,以黑点或星号显示。点击“登录”按钮后,显示用户登录信息,2,TextBox,控件,姓名:,密码:,public partial class Ex2_2:System.Web.UI.Page,protected void Page_Load(object sender,EventArgs e),protected void txtname_TextChanged(object sender,EventArgs e),Response.Write(,你的姓名是:,+txtname.Text);,protected void Button1_Click(object sender,EventArgs e),Response.Write(,你是姓名是:,+txtname.Text+,密码是:,+txtpwd.Text);,3.3.2,选择控件,1,RadioButton,控件,3.3.2,选择控件,【例,3-3,】利用,RadioButton,控件来获取用户性别信息,3.3.2,选择控件,请输入你的性别:,protected void Button1_Click(object sender,EventArgs e),/,男女都没有选择,if(rdbtnnan.Checked=false&rdbtnv.Checked=false),lblmes.Text=,你没有选择性别,请重选选择,;,else,/,男女选择了其中一个,if(rdbtnnan.Checked=
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服