版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、网站设计和开发,2020年8月10日,第2页,教学重点,网站的工作原理 HTML JAVACRIPT ASP.NET与ASP IIS服务器的安装与配置 ASP.NET网站开发的知识准备,2020年8月10日,第3页,网站的构成要素,静态网页 Web服务器 动态网页,静态网页-HTML, 网页标题 标题一 网页内容。 ,标题标记 段落级标记 块标记 字符级标记 列表 水平标尺标记 字体标记 IMG 标记,静态网页-HTML, 欢迎学习 HTML 我的第一个 HTML 文档 这将是一种很有趣的体验 使用另一个标题 另一个段落元素 单击此处访问北京阿博泰克北大青鸟信息技术有限公司的主页 ,静态网页-
2、HTML, 学习HTML 第1部分 元素用于组织元素 DIV通常用于块级元素 第2部分 这是第二部分 您觉得有意思吗? 第二部分向右对齐。 公共格式应用于这一部分中的所有元素 ,静态网页-HTML, 学习 HTML 星期一 星期二 星期三 星期四 星期五 ,静态网页-HTML, 欢迎使用HTML 我的第一个HTML文档 这将会是一种很有趣的体验 ,静态网页-HTML, 插入图像 插入图像 底部对齐 图2.15:示例15的输出结果 顶部对齐 居中对齐 ,2020年8月10日,第10页,静态网页,通常这些网页只有HTML标记,没有其他可以执行的程序代码。 网页的内容是静态不变的 网址形式通常为:
3、静态网页的后缀名一般为:.htm .html .shtml .xml 使用静态网页,如果要修改网页内容,就必须修改源代码,然后重新上传到服务器上。(在网站制作和维护方面工作量较大,在功能方面也有较大的限制),静态页面工作原理,2020年8月10日,第12页,Web服务器,根据用户的Web浏览器发送的请求提供相应文件的一种软件 也称为HTTP服务器 常用的Web服务器包括: 微软的IIS(Internet信息服务器) 网景的企业服务器(NES) Apache HTTP服务器等,这一时期的Web设计更像是平面设计,而不是程序设计。这样设计出来的页面,只能呈现静态的文本和图像,无法提供满足用户需求的
4、交互模式,也无法展示动态的信息。,静态网页的缺点,2020年8月10日,第14页,什么是动态网页,动画、Flash、applet等所谓动态网页只是视觉上的,与真正的“动态网页”是不同的概念 。示例 “动态”主要指的是“交互性” 动态网页中不仅含有HTML标记,而且含有可以执行的程序代码,动态网页能够根据不同的输入和请求动态生成返回的页面,例如常见的BBS、留言板、聊天室等就是用动态网页来实现的。 动态网页的后缀名:.aspx .asp .jsp .php等等,动态网页又分:客户端动态网页和服务器端动态网页 客户端动态:由浏览器上的模块(插件)完成创建动态网页的全部工作。 服务器端动态:由Web
5、服务器处理请求后生成对应的网页发送回浏览器,动态页面工作原理,动态网页和静态网页的区别:,核心区别:是否在服务器端运行!动态网页中的某些脚本只能在服务器端运行,而静态网页中的任何脚步都不能在服务器端运行。动态网页中可以同时包含客户端脚本和服务器脚本,而静态网页中只能包含客户端脚本。 后缀名差别: 静态:.html .htm 动态:.asp .aspx .jsp .php等等,2020年8月10日,第18页,ASP,ASP全称为Active Server Pages(中文译名为活动服务器页面),是微软公司推出的用于Web应用服务的一种编程技术 语法简单,易学易用。 asp采用的脚本语言:VBSc
6、ript 和JavaScript。 代码嵌入到HTML语言中。,JavaScript简介,JavaScript简介 前身叫作LiveScript,是一种基于对象(Object)和事件驱动(EventDriven)、并具有安全性能的脚本语言。 JavaScript与Java 是两个公司开发的两个不同的产品,作用与用途大不一样,但两者语法上有很多多相似之处,JavaScript并不是Java的子集。 JavaScript、Jscript与ECMAScript ,什么是JavaScript,JavaScript 是一种脚本语言 alert(new Date(); 提供用户交互 动态更改内容 数据验证
7、,将JavaScript嵌入网页,可以将 JavaScript 语句插入 HTML 文档,方式 如下: 在HTML标记中直接写入JavaScript代码 使用 标签将语句嵌入文档 将 JavaScript 源文件链接到 HTML 文档中,在HTML标记中直接写入JavaScript代码 鼠标移过来 运行,将脚本程序代码作为属性值,javascript ,使用 Script 标签,JavaScript 代码, document.write(欢迎来到 JavaScript 世界); 尽情享受学习的快乐! ,脚本代码,设置语言,脚本代码的位置,JavaScript代码可以放置在HTML任何位置 va
8、r x = 3; 这是一个HTML段落 alert(x); ,这是一个HTML段落 var x = 3; alert(x); , ,使用外部 JS 文件,外部 JavaScript 文件(*.js)可以链接到 HTML 文档中 SCRIPT 标签的 SRC(源文件)属性可用于包括此外部文件, ,使用外部 JS 文件,JavaScript 代码 (test.htm), 使用外部文件 以上文本是通过访问外部 JavaScript 文件显示的 ,JavaScript的基本语法,JavaScript中的标识符 标识符是指JavaScript中定义的符号,例如, 变量名,函数名,数组名等。标识符可以由任
9、意顺序的大小写字母、数字、下划线(_)和美元符号($)组成,但标识符不能以数字开头,不能是JavaScript中的保留关键字。 合法的标识符举例:indentifler、username、user_name、_userName、$username 非法的标识符举例:int、98.3、Hello World JavaScript严格区分大小写 computer和Computer是两个完全不同的符号 JavaScript程序代码的格式 每条功能执行语句的最后必须用分号(;)结束,每个词之间用空格、制表符、换行符或大括号、小括号这样的分隔符隔开。 JavaScript程序的注释 /*.*/中可以嵌套
10、“/”注释,但不能嵌套“/*.*/”,JavaScript中保留的关键字,abstract,boolean,break,byte,case,catch,char,class,continue,default,if,for,float,finally,final,false,extends,else,double,do,implements,import,instance,int,interface,long,native,new,null,backage,this,synchronized,switch,super,static,short,return,public,protected,pr
11、ivate,throw,throws,transient,true,try,void,volatile,while,基本数据类型与常量,整型常量 十六进制以0 x或0X开头, 例如0 x8a。 八进制必须以0开头,例如:0123。 十进制的第一位不能是0(数字0除外),例如:123。 实型常量 12.32、 192.98、 5E7、4e5等。 布尔值 true和false. null常量 undefined常量 字符串型常量 “this is JavaScript ppt”、abc、“a”、“”。 字符串中的特殊字符,需要以反斜杠()后跟一个普通字符来表示,例如:r、n、 t、 b、 、 ”、
12、 .,声明变量,var a; “var” 用于声明变量的关键字 “a” 变量名,同时声明和初始化变量 var a= 10;,a = 10;,声明变量,声明多个变量 var x, y, z = 10;,赋值,声明变量, 使用变量 var x; x=prompt(淘宝网竟拍,请出一口价,1) ; document.write(拍卖价格+x+) / +用来连接多个字符串 document.write(恭喜您,您以最高价拍卖成功!); alert(欢迎下次光临!); ,定义变量,赋 值,输 出,prompt(“提示信息”,”默认值”) 将弹出提示对话框,接受用户的输入。点击确定返回输入的字符串,点击取
13、消反馈空字符串。,eval(字符串):将传入的字符串参数内容,转换成相应的数值,例如: y=eval(“15”)+8; 结果:y=23 parseInt(字符串,底数):将传入的字符串,转换成指定底数的数值。 parseFloat(字符串):将传入的字符串,转换成浮点数值。 举例,数据类型转换,运算符,算术运算符 赋值运算符 比较运算符 逻辑运算符 位运算符,算术运算符,+ 加法运算符或正值运算符,例如: x+5, 6。 “+”还能实现多个字符串的相加,也能将字符串与其它的数据类型连成一个新的字符串,条件是该表达式中至少有一个字符串,例如:“x”+123的结果是“x123”. - 减法运算符或
14、负值运算符,例如: 7 3, -8. * 乘法运算符,例如: 3*6. / 除法运算符,例如,9/4. % 求模运算符(也就算术中的求余)5/2. + 将变量值加1后再将结果赋给这个变量。 “”有两种用法:+x, x+. 1。前者是变量在参与其它运算之前先将自己加1后再用新的 值参与其它的运算。例如:b= +a是a先自增,即a的值 加1后,才赋值给b; 2。后者是先用原值参与其它运算后,再将自己加1,例如: b=a+是先将a赋值给b后,a再自增。 - 将变量值减1后再将结果赋给这个变量,与+的用法一样。,程序的流程控制,顺序结构 if条件选择语句 switch选择语句 while循环语句 do
15、 while语句 for循环语句 break与continue语句,函数,函数的作用与定义 全局变量与局部变量 参数个数可变的函数 创建动态函数 JavaScript中的系统函数,函数的作用,。 。 函数1 。 。 函数2 。 。 函数1 。 。,主程序,。 函数3 。 。,函数1,。 。 。,函数2,。 。 。,函数3,函数的定义与调用,定义一个函数的格式如下: function 函数名(参数列表) 程序代码: return 表达式; 对函数进行调用的几种方式: 1.函数名(传递给函数的参数1, 传递给函数的参数2, ) 2.变量 函数名(传递给函数的参数1, 传递给函数的参数2, ) 3.
16、对于有返回值的函数调用,也可以在程序中直接使用返回的结果,例如:alert(“sum = ”+square(2, 3);,变量 a、b 和 c 只能 在其各自的函数中 被访问,变量的作用域,脚本,函数function1 局部变量a,函数function2 局部变量b,函数function3 局部变量c,可由函数 1、函数 2 和函数 3 访问,全局变量 gg,全局变量不需要以 var 关键字进行声明,但局部变量则必须 以此关键字来声明,参数个数可变的函数, function testparams() var params = “”; for(var i=0; i 在函数内部使用argument
17、s对象来访问调用程序传递的所有参数,创建动态函数,创建动态函数的基本语法格式: var varName = new Function(argument1, . , lastArgument); 说明: 所有的参数都必须是字符串型的,最后参数必须是这个动态函数的功能代码。 例子: var square = new Function(“x”, “y”, “var sum; sum = x*x+y*y; return sum;”); alert(square(3, 2); ,JavaScript 函数,内置函数 eval 函数: 用于计算字符串表达式的值 isNaN 函数:用于验证参数是否为 NaN
18、(非数字),对象,对象与对象实例 构造方法与this关键字的作用 在对象函数中变量作用域的问题 JavaScript的内部对象,对象与对象实例,对象中所包含的 变量就是对象的属性; 对属性进行操作的函数就是对象的方法; 对象的属性和方法都叫对象的成员。 对象是对某一类事物的描述,是抽象上的概念; 而对象实例是一类事物中的具体个例。 能够被用来创建对象实例的函数就叫对象的构造函数,只要定义了一个对象的构造函数就等于定义了一个对象,使用new关键字和对象的构造函数就可以创建对象实例,语法格式如下: var objInstance = new ObjName(传递给该对象的实际参数列表);,Java
19、Script 对象简介,三类对象,浏览器对象,内部对象,HTML 对象,浏览器窗口window 文档 document url地址等,String字符串对象 Date日期对象 Math数学对象等,各种HTML标签: 段落 图片 超链接等,构造方法与this关键字,为一个对象实例新增加的属性和方法,不会增加到同一个对象所产生的其它对象实例上。 所有的实例对象在创建后都会自动调用构造函数,在构造函数中增加的属性和方法会被增加到每个对象实例上。 对象实例是用new关键字创建的,在构造方法中不要有返回结果的return语句。 调用对象的成员方法时,需要使用“对象实例.成员方法”的形式,很显然,用作成员
20、方法的函数被调用时,一定伴随有某个对象实例。this关键字代表某个成员方法执行时,引用该方法的当前对象实例,所以,this关键字一般只在用作对象方法的函数中出现。, function Person(name, age) this.age = age; = name; this.say = sayFunc; function sayFunc() alert(+” : ”+this.age); var person1 = new Person(“张三”, 18); person1.say(); var person2 = new Person(“李四”,20)
21、; person2.say(); ,JavaScript的内部对象,动态对象 使用“对象实例名.成员”的格式来访问其属性和方法 静态对象 直接使用“对象名.成员”的格式来访问其属性和方法。 Object对象 String对象 Math对象 Date对象 toString方法,Object对象,Object对象提供了一种创建自定义对象的简单方式,不需要程序员再定义构造函数。 function getAttributeValue(attr) alert(personattr); var person = new Object(); =“zs”; person.age = 18
22、; getAttributeValue(“name”); getAttributeValue(“age”); ,String 对象,创建字符串有两种不同方法 : 使用 var 语句 var newstr = “这是我的字符串”; 创建 String 对象 var newstr = new String(“这是我的字符串”),String 对象,语法: indexOf(“查找的子字符串”,查找的起始位置) 返回子字符串所在的位置,如果没找到,返回 1 例如: var x var y=“abcdefg”; x=y.indexOf(“c” , 0 ); /返回结果为2,起始位置是0,String对象
23、,charAt方法:返回指定位置的字符 注意:一个字符串的第一个字符的索引位置为0,依次类推。 charCodeAt方法:返回指定位置字符的Unicode编码 lastIndexOf方法:从右向左执行 match、search方法:使用正则表达式搜索 replace方法:使用正则表达式替换 split方法:按照指定分隔符拆分字符串 slice方法:返回两个指定位置的子字符串 说明:str1.slice(0)和str1.slice(0, -1)都是返回整个字符串。 substr、substring方法:返回指定位置和长度的子字符串 注意:substring方法返回的内容不包含结束位置的字符。,M
24、ath对象,Math对象是一个静态对象, 不能使用new关键字创建对象实例,应直接使用“对象名。成员”的格式访问其属性或方法,例如: var num = Math.random();,Math 对象,Math.random( ) :产生01的随机小数 Math.round( ):四舍五入取整,如9.34 取整为9, 自动刷新 document.write(2秒自动刷新,随机显示图片); var i=0; i=Math.round(Math.random( )*8+1); document.write(); ,Math 对象,假定随机产生的数字i=3,上述代码即为: 显示第三幅图片(3.jpg)
25、,如何实现,每隔2秒刷新网页,Math.round(Math.random( )*8+1) 产生1-9的数字,Date 对象,Date 对象存储的日期为自 1970 年 1 月 1 日 00:00:00 以来的毫秒数,var 日期对象 = new Date (年、月、日等参数),例: var mydate=new Date( “July 29, 1998,10:30:00 ”) 如果没有参数,表示当前日期和时间 例: var today = new Date( ),Date 对象,Data 方法的分组:,Date 对象,用作 Date 方法的参数的整数:,Date 对象,Set 方法:,Dat
26、e 对象,Get 方法:,Date 对象,To 方法:,Parse 方法和 UTC 方法, var now= new Date( ); var hour = now.getHours( ); if (hour=0 ,Date对象,如何实现,获得当前日期和时间,获得小时,即当前是几点,判断上午、下午还是晚上,月份数字011,注意1,Date对象,setTimeout的用法: setTimeout(“调用的函数”,”定时的时间”) 例: var myTimesetTimeout(”disptime( )”,1000); clearTimeout(myTime);,隔1000毫秒调用函数dispti
27、me( )执行,关闭定时器,本例的时间可以采用定时显示,使用定时器函数,隔1秒调用disptime( )函数显示时间,Date 对象,var myTime = setTimeout(disptime( ),1000); 设置定时器隔1秒(1000毫秒),调用函数disptime( )执行,刷新时钟显示,toString方法,toString方法是JavaScript中的所有内部对象的一个成员方法,它的主要作用就是将对象中的数据转换成某种格式的字符串来表示,具体的转换方式取决于对象的类型。 举例: var x = 328; alert(“hes=” + x.toString(16)+”bin=”
28、+x.toString(2); ,forin举例, function Person() = “sky”; this.age = 19; this.height = 172; var p1 = new Person(); var prop, str = “”; for(prop in p1) str += prop .name; alert(str); ,数组,数组列表 用对象的方式实现数组 Array对象,数组,声明数组 var 数组名 = new Array(数组大小); 例: var emp = new Array(3) 添加元素 emp0 = “AA; emp1 =
29、“BB; emp2 = “CC;,emp,也可以声明数组并赋初值: 例: var emp=new Array(“AA”,“BB”,“CC”);,Array对象,三种构造方法 Array() Array(4) Array(3.4, “abc”, 3),数组列表,数组列表用于表示一组数据的集合,它由一对方括号( )包围,列表中的每个元素用逗号分隔,数组元素可以是任类型的数据(包括其他数组)。例如: var arr=“sky”, 123, li, 3.5; 对于每个数组变量,都有一个length属性,表示该数组中元素的个数。 使用“数组变量名索引号”的格式来访问每个数组元素。数组列表中的第一个元素的
30、索引号为0,最后那个元素的索引号为数组的length属性值减1. 数组列表的每个元素既可以是有效的JavaScript表达式,也可以为空,空元素的值为undefined.例如 : var arr = 1, , , , 5; 数组元素本身又是数组,就叫数组的数组,例如: “names”, “beansproul”, “pumpkin”, “max”, “ages”, 6, 5, 4 使用“数组变量名子数组索引号子数组中的元素索引号”的格式来访问数组的数组中的元素。,数组,常用属性 length :返回数组中元素的个数 常用方法, var arr =“names”, “beansproul”, “
31、pumpkin”, “max”, “ages”, 6, 5, 4 for(var i = 0; i,用对象的方式实现数组, function MyArray() this.length = arguments.length; for(var I = 0; i, function MyArray(size) this.length = size; for(var j = 0; j,2020年8月10日,第76页,ASP.NET(ASP的发展),微软公司很快公布了其宏伟的“Windows.NET”计划,发布了成为下一代网络服务框架的NGWS,同时将其ASP技术升级为ASP+ 2000年11月,微软
32、公司推出Visual Studio.NET 7.0开发工具的Beta版本,将NGWS更名为.NET Framework,此时ASP+也正式改名为现在的ASP.NET。 ASP.NET与 ASP相比速度更快,功能更加强大。,ASP.NET与.net框架的关系,搭建ASP.NET开发运行环境最重要的是安装.NET Framework,即.net框架。 .NET框架 .NET框架(.NET Framework)是一套应用程序开发和运行的平台或者环境,而ASP.NET则是这个平台中的一部分,主要负责WEB应用程序的开发,为WEB应用程序开发提供接口,因此要想利用ASP.NET技术开发WEB应用程序,必
33、须安装.NET框架。,2020年8月10日,第78页,.NET框架,CLR:为基于.net平台的一切操作提供一个统一的运行环境。 .net类库(基类库):是.net应用软件开发的基础类库,也是.NET平台本身的实现基础。 ADO.NET为.net框架提供统一的数据访问技术。,2020年8月10日,第79页,技术特点,多语言支持 Visual Basic .NET Visual C+ C# Jscript .NET 多平台支持 所有支持.NET的Windows平台 性能 强大的性能和可伸缩性,ASP.NET 的多语言支持,代码编译执行,_ _ _ _,代码,编译,Microsoft 中间语言 (
34、MSIL 或 IL),JIT 编译器,机器语言,分别编译 IL 的每一部分,2020年8月10日,第81页,C#与ASP.NET,C#语言是一门简单,现代,优雅,面向对象,类型安全,平台独立的一门新型组件编程语言 很多人学ASP.NET,不知道用好还是c#好,看 简单就选择了,结果学了接近两个月才在几个高手朋友的指点下,改成C#,当然,我这不是说VB.net不好,只是说c#的代码看起来简洁点。而且目前绝大多数公司使用C#.,IIS服务器,Internet Information Server(简称IIS)是Windows系统提供的一种服务,它包括WWW服务器、FTP服务器和SMTP服务器,是架
35、设个人网站的首选。 程序运行inetmgr,Windows 2000 Server在安装的过程中会自动安装IIS 5.0,而Windows 2000 Professional和Windows XP则不会,必须用添加Windows组件的方式另行安装。下面以Windows XP为例,介绍安装IIS 5.1的过程。 1. 安装IIS 安装IIS的步骤如下: 从桌面的“开始”菜单中选择“控制面板”,打开“控制面板”。双击“添加或删除程序”图标,打开“添加或删除程序”对话框。, 用鼠标单击左边的“添加/删除Windows组件”图标,打开“Windows组件向导”(图1-12)。,图1-12 Window
36、s组件向导,选中“组件”列表中的“Internet信息服务(IIS)”选项,单击“下一步”按钮,组件向导即开始安装所选组件。在安装向导的最后一页单击“完成”按钮,完成组件的安装。,2. Internet信息服务器 在“控制面板”中双击“管理工具”图标,打开“管理工具”对话框,在其中双击“Internet信息服务”图标,打开Internet信息服务器窗口,如图1-13所示。,图1-13 Internet信息服务器窗口,3配置 IIS,虚拟目录是Web 服务器使用的逻辑目录名,与服务器上的物理目录相对应,使用 IIS 创建虚拟目录,步骤 1:在“默认 Web 站点” 中创建一个虚拟目录。,步骤 2
37、:给出此虚拟目录的别名。,步骤 3:选择虚拟目录的位置。,步骤 4:为此目录选择适当的访问权限。,激活浏览器,在地址栏中输入本机的网址,如http:/localhost/,4. 测试IIS,VS2008的下载及破解,.net自学手册1-Visual Studio 2008的下载及破解 ,HTML+C#+ADO.NET+access/SQL server,理论学习要求,ASP.NET开发程序的一般步骤,Web 窗体的 IDE,Web 窗体的 IDE,菜单栏和工具栏,工具箱,解决方案资源管理器,服务器资源管理器,“属性”窗口,创建 Web 应用程序,在 .NET 环境中使用 Visual C# 构
38、建一个ASP.NET Web 应用程序,已创建虚拟目录,按照提供的名称创建解决方案和项目,同时还创建了默认引用和文件,默认的 Web 应用程序文件,Global.asax 2-1,“Global.asax”,存储所有事件的事件处理程序,存储在应用程序的根目录下,它的位置定义应用程序的限界,包含所有应用程序的配置设置,Global.asax 2-2,httpApplication类,实例,事件,事件处 理程序,Global.asax,配置设置,存储于,文件,利用提供的内置对象,可以实现页面之间的数据传递及实现一些特定的功能,如:缓冲输出,页面重定向等等。 Response Request Ser
39、ver Application Session Cookie,Response对象,作用: 将动态生成的信息嵌入到HTML文档中,然后发送到客户端; 缓冲输出数据; 重定向浏览器到另一个URL; 向浏览器输出Cookie文件。 其类名为httpResponse,Response对象,常用属性和方法 Write() 向客户端发送字符串信 BufferOutPut 属性,是否使用缓存 Buffer属性,是否使用缓存 ContentType 属性,指定输出文档的类型 Clear() 清除缓存 Flush() 强制输出缓存的所有数据 Redirect()网页转向地址 End()终止当前页的运行 Wri
40、teFile()读取一个文件,并且写入客户端输出流,向浏览器输出数据,Response对象可以将一些动态生成的信息插入到网页中,需要使用如下形式: Response.write 其中,不管表达式的结果是什么类型,最终都作为字符串插入到网页中。,向浏览器输出数据,例:在网页中嵌入动态信息 % ,注意:如果直接将脚本代码嵌入到HTML中,则它必须包含在之间。,向浏览器输出数据,程序清单 处理Page_Load事件,添加如下代码: Response.Write(专业名称列表:); Response.Write(); Response.Write(计算机网络技术); Response.Write(计算
41、机信息管理); Response.Write(软件技术与开发); Response.Write();,向浏览器输出数据,Response 输出客户端脚本 弹出对话框 Response.Write(alert(欢迎学习ASP.NET) Response.Write(msgbox(hello!) 打开一个新的IE窗口 Response.Write(window.open(WebForm2.aspx),RegisterStartupScript(, alert(信息有误!);,向浏览器输出数据,Response的缓冲输出 ASP.NET 提供了缓冲机制,能够将要输出到客户端数据首先保存在服务器的缓存
42、区域,当处理完整个Response响应之后再一次性地发给客户端,这样能够大大加快访问和处理数据的速度。 Response对象的BufferOutPut或Buffer属性,指示是否缓冲Response的输出: Response.BufferOutput = True; Response.Buffer= True;,向浏览器输出数据,与缓冲输出对应的几个方法 Clear() 清除缓存 Flush() 强制输出缓存的所有数据 End()终止当前页的运行,向浏览器输出数据,输出内容指定 浏览器请求一网页时,服务器会将一个HTML文档发送给客户端浏览器,服务器也可以使用Response对象的Conten
43、tType属性指明向浏览器发送的是其他类型的文档。指明发送给客户端浏览器的是什么类型的文档,可使用如下形式: Response.ContentType=内容类型 内容类型的书写格式为“类型子类型”: 默认值:“text/HTML” 纯文本:“text/plain” Word文档:“application/MSWord” 图片:“image/GIF”,使页面转向(页面重定向),使用Response对象的redirect方法可以把用户引导到指定的某个网页。形式如下: Response.redirect 网页地址 例如: Response.Redirect();,使页面转向(页面重定向),在按钮事件
44、中根据选择的用户身份登录到不同的页面,停止向页面输出数据,Response.End() 终止当前页的运行,向浏览器输出文件,Response.WriteFile(FileName)其中:FileName 指需向浏览器输出的文件名。 作用:直接将文件中的内容嵌入到页面中,下面是文件的内容,Request对象,作用:Request对象主要是让服务器取得客户端浏览器的一些数据,包括从HTML表单用Post或者GET 方法传递的参数、Cookie和用户认证。因为Request对象是Page对象的成员之一 ,所以在程序中不需要做任何的声明即可直接使用; 其类名为 HttpRequest,使用Reques
45、t.Form属性获取数据,通过该属性,读取 之间的表单数据.注意:提交方式要设置为“Post”。 与Get方法相比较,使用Post方法可以将大量数据发送到服务器端。 不推荐使用,利用Request.QueryString属性获取数据,Request对象的QuerySting属性可以获取 HTTP查询字符串变量集合 。通过该属性,我们可以读取地址信息http:/localhost/aaa.aspx?uid=tom ddlcomputer.Items.Add(计算机信息管理); ddlcomputer.Items.Add(软件技术与开发); ddlcomputer.SelectedIndex =
46、0; rblSex.Items.Add(男); rblSex.Items.Add(女); rblSex.SelectedIndex = 0; Me.Button1.Text = 登录; Response.Write(Request(ddlcomputer); Response.Write(Request(rblSex); Response.Write(Request(TextBox1);,获取客户端浏览器信息,Response.Write(客户端浏览器为: + HttpContext.Current.Request.Browser.Browser); Response.Write(客户端浏览器
47、版本为: + HttpContext.Current.Request.Browser.Version); Response.Write( 客户端访问的网址为: + HttpContext.Current.Request.Url); Response.Write(客户端主机为: + HttpContext.Current.Request.UserHostAddress);,Server对象,Server对象简介 Server对象提供对服务器上的方法和属性进行的访问 .其类名称是HttpServerUtility. Server对象的主要属性有: MachineName:获取服务器的计算机名称。
48、ScriptTimeout:获取和设置请求超时(以秒计)。,Server对象,Server对象的常用方法,向浏览器输出HTML代码,编码:Server.HtmlEncode(“HTML代码”) 解码:Server.HtmlDecode(“已编码的HTML”),String str= Server对象的使用“; Response.Write(字符串不经Html编码直接输出:); Response.Write(str); Response.Write(字符串经过Html编码后输出:); String strHtmlContent = Server.HtmlEncode(str); Response
49、.Write(strHtmlContent); Response.Write(对编码后的字符串进行解码:); strHtmlContent = Server.HtmlDecode(strHtmlContent); Response.Write(strHtmlContent);,获取文件路径,Server对象的MapPath方法将虚拟路径或相对于当前页的相对路径转化为Web 服务器上的物理文件路径。 语法:Server.MapPath(“虚拟路径”)实例: string FilePath = Server.MapPath(“index.aspx”) Response.Write(FilePath
50、); Sever.MapPath(“./”)表示所在页面目录 Sever.MapPath(“/”)表示当前应用级程序的目录,Transfer方法和Execute方法,Transfer的执行方式:第一个页面跳转到第二个页面时,页面处理的控制权也进行移交,但浏览器的Url仍保存第一个页面的URL信息。这种重定向请求在服务器端执行,客户端并不知道服务器执行页面跳转操作。 Execute的执行方式:允许当前页面执行同一web服务器的另一页面,当另一页面执行完毕后,控制流程重新返回到原页面。 比较下列代码: Server.Transfer(hello.aspx); Server.Execute(hell
51、o.aspx); Response.Redirect(hello.aspx);,Application对象,什么叫WEB应用程序? ASP.NET应用程序是单个 Web 服务器上的某个虚拟目录及其子目录范围内的所有文件、页、处理程序、模块和代码的总和。 一个ASP.NET 应用程序包含了驻留在Web站点特定目录下的所有文件、子目录、页面、处理程序、模块和代码的总和; 它们都驻留在Web服务器上的特定虚拟目录及其子目录中; 它们都可以由用户通过虚拟目录层次结构来请求访问;,Application对象,在ASP.NET中,使用Application对象代表ASP.NET Web应用程序的运行实例。
52、 一个Web站点可以包含不止一个ASP.NET应用程序,而每个ASP.NET应用程序的运行实例都可以由一个Application对象来表达。 可以将任何对象作为全局变量存储在Application对象中。,使用Application对象保存信息,使用Application对象保存信息: Application“键名” = 值; 或 Application.Add(“键名”,值); 获取Application对象信息: 变量名 = Application“键名”; 变量名 = Application.Get(“键名”);,使用Application对象保存信息,更新Application对象的值
53、Application.Set(“键名”, 值); Application“键名” = 值 删除一个键Application.Remove(“键名”, 值) 删除所有键Application.RemoveAll()或 Application.Clear(),应用程序状态同步,存在多个用户同时存取同一个Application对象的情况。这样就有可能出现多个用户修改同一个Application命名对象,造成数据不一致的问题。 Application对象提供两种方法 Lock 和 Unlock,以解决对Application对象的访问同步问题,一次只允许一个线程访问应用程序状态变量。,应用程序状态同
54、步,关于锁定与解锁 锁定:Application.Lock();访问:Application“键名” = 值解锁:Application.Unlock(); 注意:Lock方法和UnLock方法应该成对使用。,使用Application事件,在ASP.NET应用程序中可以包含一个特殊的可选文件Global.asax文件,也称作 ASP.NET 应用程序文件,它包含用于响应 ASP.NET或HTTP模块引发的应用程序级别事件的代码。 Global.asax文件提供了7个事件,其中5个应用于Application对象,使用Application事件,Application事件,Session对象,
55、什么叫会话? Session即会话,是指一个用户在一段时间内对某一个站点的一次访问。 Session对象在.NET中对应HttpSessionState类,表示“会话状态”,可保存与当前用户会话相关的信息。,Session对象简介,Session对象用于存储从一个用户开始访问某个特定的aspx 的页面起,到用户离开为止,特定的用户会话所需要的信息。用户在应用程序的页面切换时,Session对象的变量不会被清除。 对于Web程序而言,所有用户访问到的Application对象的内容是完全一样的;但是不同用户会话访问到的Session对象的内容则各不相同。,Session对象简介,Session
56、可以保存变量,该变量只能供一个用户使用,也就是说,每一个网页浏览者都有自己的Session对象变量,即Session对象具有唯一性。 Session对象有生命周期,默认值为20分钟,可以通过TimeOut属性设置会话状态的过期时间。 如果用户在该时间内不刷新页面或请求站点内的其他文件,则该Session 就会自动过期,而Session对象存储的数据信息也将永远丢失。,使用Session对象保存信息,将新的项添加到会话状态中的语法格式为: Session 键名“ = 值; 或者Session.Add( 键名 , 值); 按名称获取会话状态中的值的语法格式为: 变量 = Session 键名; 删
57、除会话状态集合中的项的语法格式为: Session.Remove(键名),使用Session对象保存信息,清除会话状态中的所有值的语法格式为: Session.RemoveAll() 或者Session.Clear() 取消当前会话的语法格式为:Session.Abandon() 设置会话状态的超时期限,以分钟为单位。语法格式为: Session.TimeOut = 数值,使用Session实现网站的页面级身份验证,protected void Page_Load(object sender, EventArgs e) if (SessionUser = null) Response.Redi
58、rect(Login.aspx); else Response.Write(欢迎你, Response.CookiesUserName.Expires =DateTime.Now.AddDays(30); 通过Request对象的Cookies集合来访问Cookie Request.Cookies“UserName”.value,其他添加Cookie的方法,HttpCookie cook= new HttpCookie(“UserName”,“abc”); Response.Cookies.Add(cook); 或 HttpCookie cook= new HttpCookie(“UserName”); cook.Value=“abc”; Resp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 课件美术绘画教学课件
- 2023年液压破拆属具资金申请报告
- 柑桔冬季管理技术
- 治未病在糖尿病防治管理
- 合理膳食说课稿
- 网络安全项目签证管理策略
- 学校装修协议
- 保安服务公司队长聘用合同
- 民营企业公租房租赁协议
- 住宅小区装修工装施工合同
- 医院统计信息报送工作制度
- 2024年新人教版一年级上册数学课件 第四单元11~20的认识 第4课时简单加、减法
- 中频炉事故专项应急预案
- 解读2024网络数据安全管理条例课件模板
- 《托育服务政策法规与职业伦理》全套教学课件
- 期末模拟练习(试题)(含答案)2024-2025学年二年级上册数学苏教版
- 教学计划(教学计划)-2024-2025学年大象版三年级科学上册
- 2024年房产中介佣金提成协议书范本
- 某港口码头工程施工组织设计
- 职业技术学校老年保健与管理专业(三年制)人才培养方案
- 中建项目科技创效案例手册(2022版)
评论
0/150
提交评论