网络程序设计案例教程_第1页
网络程序设计案例教程_第2页
网络程序设计案例教程_第3页
网络程序设计案例教程_第4页
网络程序设计案例教程_第5页
已阅读5页,还剩238页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、网络程序设计案例教程ASP.Net+SQL Server(C#实现)目录n第一章 ASP.NET概述n第二章 Web 服务器控件n第三章 ASP.NET 内置对象n第四章 ASP.NET类库n第七章 使用ADO.NET访问数据库第一章 ASP.NET概述n理解B/S编程相关基本概念C/S与B/S结构体系的不同理解静态网页和动态网页的不同,及基于客户端和基于服务器端动态网页的不同n了解WEB服务器的概念n能安装和配置IISn掌握利用VS2005开发工具进行网站的发布1.1 基本概念B/S与C/S结构nB/S 与C/S依据客户端使用方式的不同,可以将网络应用系统分为两大体系,即B/S(Browse

2、r/Server)结构体系与C/S (Client/Server)结构体系。C/S系统,需要在客户端开发应用程序,用户安装后在本机使用,通过客户端程序访问服务器资源。B/S系统,用户通过浏览器访问服务器资源,用户不需下载和安装客户端软件。C/SnC/S 三大缺点客户端需要安装专用的客户端软件维护成本高 对客户端的操作系统一般也会有限制 nWindows2000,Xp,VistanLinuxnUnixB/SnB/S特点不依赖客户端程序,只要安装浏览器即可(火狐;世界之窗;GreenBrowser;IE;腾讯TT)运行维护比较简便 访问自由方便最大的缺点是对外网环境依赖性太强 开发B/S系统的工具

3、n我们采用ASP.NET+SQL Server 组合工具。三种主要的动态Web页面设计工具nPHP:Hypertext PerprocessornJSP:Java Server PagesnASP.NETASPASP.NETPHPJSP1.1 基本概念静态网页和动态网页n静态网页,动态网页主要根据网页制作的语言来区分n静态网页使用语言:HTML(超文本标记语言)n动态网页使用语言:HTMLASP或HTMLPHP或HTMLJSP等。静态网页n静态网页完全由HTML(Hyper Text Markup)代码构成,网页内容固定不变。n特点静态网页每个网页都有一个固定的URL,且网页URL以.htm、

4、.html、.shtml等常见形式为后缀,而不含有“?”网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页的内容都是保存在网站服务器上的,也就是说,静态网页是实实在在保存在服务器上的文件,每个网页都是一个独立的文件;静态网页的内容相对稳定,因此容易被搜索引擎检索;静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难; 静态网页 这是一个静态网页 早期的静态网页全部由HTML语言组成 静态网页的特点: 静态网页每个网页都有一个固定的URL,且网页URL以.htm、.html、.shtml等常见形式为后缀,而不含有“?”;

5、网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页的内容都是保存在网站服务器上的,也就是说,静态网页是实实在在保存在服务器上的文件,每个网页都是一个独立的文件; 静态网页的内容相对稳定,因此容易被搜索引擎检索; 静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难; 静态网页的交互性交叉,在功能方面有较大的限制 客户端动态网页nJavaScript的作用:的作用: 交互式操作; 表单验证; 网页特效nJavaScript缺点:每种浏览器支持JavaScript的程度是不一样的 ,设计网页时需要考虑客户端浏览器的情况。代码

6、暴露给客户端用户,存在安全隐患。服务器端动态网页n服务器端动态网页特点:动态网页以数据库技术为基础,可以大大降低网站维护的工作量;采用动态网页技术的网站可以实现更多的功能,如用户注册、用户登录、在线调查、用户管理、订单管理等等;动态网页实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页;我们应当采用静态还是动态?n网站采用动态网页还是静态网页主要取决于网站的功能需求和网站内容的多少,如果网站功能比较简单,内容更新量不是很大,采用纯静态网页的方式会更简单,反之一般要采用动态网页技术来实现。n静态网页是网站建设的基础,静态网页和动态网页之间也并不矛盾,为了网站适应

7、搜索引擎检索的需要,即使采用动态网站技术,也可以将网页内容转化为静态网页发布。n动态网站也可以采用静动结合的原则,适合采用动态网页的地方用动态网页,如果必要使用静态网页,则可以考虑用静态网页的方法来实现,在同一个网站上,动态网页内容和静态网页内容同时存在也是很常见的事情。1.1 基本概念web服务器nWeb服务器是一个软件,用于管理Web页面,并使这些页面通过本地网络或Internet供客户浏览器使用。n在Internet中,Web服务器和浏览器通常位于两台不同的机器上,也许它们之间相隔数英里。然而,在本地情况下,也可以在一台机器上运行Web服务器软件,再在这台机器上通过浏览器浏览它的Web页

8、面。 常见的web服务器n在UNIX和LINUX平台下使用最广泛的免费HTTP服务器是APACHE服务器nWindows平台下使用IIS的WEB服务器。 HTTP 的工作原理客户端客户端(浏览器)(浏览器)客户端客户端(浏览器)(浏览器)请给我发送请给我发送“超文本简介超文本简介”超文本简介超文本简介页请求页请求1.2 安装ASP.NETn安装IISn安装VS2005(net framework2.0 )n安装和配置IIS安装IISn“开始”“控制面板”“添加删除程序”,选择“添加删除Windows组件”,将“Internet信息服务(IIS) ”前面选勾,点击下一步 ,将Windows安装光

9、盘或下载的IIS安装程序选中后安装即可。配置IISn选择“开始”“控制面板”“管理工具”“Internet信息服务(IIS)”即进入IIS的管理窗口。具体做法n比如本机的IP地址为,自己的网页放在e:aspnet目录下,网页的首页文件名为default.aspx,现在想根据这些建立好自己的Web服务器。 n对于此Web站点,我们可以用现有的“默认Web站点”来做相应的修改后,就可以轻松实现。请先在“默认Web站点”上单击右键,选“属性”,以进入名为“默认Web站点属性”设置界面。 修改绑定的IP地址:转到“网站网站”窗口,再在“IP地址”后的下拉菜单中选择所需用到的本机I

10、P地址“”。 修改主目录:转到“主目录主目录”窗口,再在“本地路径”输入(或用“浏览”按钮选择)好自己网页所在的“e:aspnet”目录。 添加首页文件名:转到“文档文档”窗口,再按“添加”按钮,根据提示在“默认文档名”后输入自己网页的首页文件名“default.aspx”。 n扩展:IIS服务器组建一览 1.3 建立最简单的ASP.NET程序n打开“Visual Studio 2005”选择“文件”“新建网站”任务n建立网页版“Hello World”n将网页重新命名为Myfirst.aspxASP.NET文件类型naspx:ASP.Net主体文件,用来存放Web窗体页

11、面。ncs:在使用代码分离技术时,以C#作为程序设计语言,C#模块文件。nconfig:配置文件nsln:VS2005解决方案文件,一个解决方案可以包含若干个不同类型的项目。(位于我的文档visual studio 2005Projects下)代码分离技术n在新建Web窗体时,选择“代码放在单独的文件中”即可n好处:HTML与程序代码分开,使程序的逻辑结构更清晰易于重用易于维护可独立于源代码进行部署1.4 建立最简单的可交互的ASP.NET程序n分别使用代码分离技术和不使用代码分离技术建立一个简单的可交互的Web页面。功能是,单击命令按钮改变标签的文本内容,字体大小和字体名称。n掌握利用VS2

12、005开发环境建立最简单的可交互的ASP.NET web页面程序。 n理解采用代码分离技术的好处HTML服务器控件和Web服务器控件(1)nASP.NET中有两类控件:HTML服务器控件和Web服务器控件,都可通过工具箱插入。一个位于工具箱的“HTML”选项卡中,一个位于工具箱的“标准”选项卡中。带三角符的是带三角符的是Web服务器控件服务器控件HTML服务器控件和Web服务器控件(2)nHTML服务器控件默认是在浏览器端执行的,在这种情况下,其完全等效于一组HTML标记。nWeb服务器控件是ASP.NET内置的服务器端控件,是其强大功能的体现,也是我们学习的重点。第二章 Web 服务器控件n

13、2.1 任务1:设置文本字体n2.2 任务2:图片浏览器n2.3 任务3:选择出行时间和目标城市n2.4 任务4:设计用户注册页面n2.5 任务5:广告条效果n2.6 任务6:设计页面Banner2.1 任务1:设置文本字体n掌握Web服务器控件命令按钮(Button)文本框(TextBox)单选按钮(RadioButton)复选框列表(CheckBoxList)ButtonnButton控件用于在页面上显示一个标准的按钮。几个重要的属性如下:IDFontTextAccessKeyToolTipnButton控件的常用事件如下:ClickRadioButtonnRadioButton控件用于从

14、一个或多个选项中选择一项。几个重要属性如下:AutoPostBackCheckedGroupName(可将多个单选按钮形成一组)TextTextAlignn当RadioButton控件的Checked属性发生变化时将会引发RadioButton的CheckedChanged事件,但是此事件并不是立即引发页面的回发,除非将RadioButton控件的AutoPostBack属性被设置为True时,Checked属性发生变化时会立即回发页面到服务器。RadioButtonListnRadioButtonList控件用于提供一组RadioButton控件,其中几个主要属性如下:AutoPostBac

15、kItemsSelectedIndexSelectedItemSelectedValueRepeatDirectionn当RadioButtonList控件中的选中项发生变化时,会引发SelectedIndexChanged事件,但是此事件不会立即回发页面到服务器,除非选择了RadioButtonList控件的AutoPostBack属性为True。 CheckBoxnCheckBox控件给用户提供了选择一项或者多项的功能,几个重要属性如下:AutoPostBackCheckedTextTextAlignn当CheckBox控件的Checked属性发生变化时将会引发CheckBox的Check

16、edChanged事件,但是此事件并不是立即引发页面的回发,除非将CheckBox控件的AutoPostBack属性被设置为True时,Checked属性发生变化时会立即回发页面到服务器。 CheckBoxListnCheckBoxList控件用于提供一组CheckBox控件。n属性参考RadioButtonList控件。n当CheckBoxList控件中的选中项发生变化时,会引发SelectedIndexChanged事件,但是此事件不会立即回发页面到服务器,除非选择了CheckBoxList控件的AutoPostBack属性为True。 添加CheckBoxList列表项LinkButto

17、nnLinkButton控件就是一个特殊Button控件,除了表现的样式不同外,其功能跟Button控件的功能基本一致。LinkButton控件的属性跟Button控件的属性也基本一致。nLinkButton控件的事件也同Button控件的事件一致。ImageButtonnImageButton控件一个特殊的Button控件,其功能跟Button控件的功能一致。n几个ImageButton控件特殊的属性如下:AlternateText:图片无法显示时的替换文本。ImageUrl:要显示的图片的URL。n事件:Click HyperLinknHyperLink控件用于创建到其他页面的链接,可以动

18、态的更改HyperLink的链接文本或目标页,其中几个重要属性如下:ImageUrl:要显示的图片NavigateUrl:定位到的URLTarget:超链接的目标框架Textn用户单击HyperLink控件时并不会在服务器代码中引发事件,而只是执行导航任务。 任务2:图片浏览器nImage控件nDropDownList控件n掌握页面属性的设置,掌握基本的使用样式表的技能。n了解page页面指示符Image控件nImage控件用于在Web页面上显示图像,但是不能捕获鼠标的服务器端单击事件,几个重要属性如下:1. AlternateText2. ImageAlign3. ImageUrlnImag

19、e控件可以以一种编程的方式来为Image控件指定图像文件。DorpDownListnDorpDownList控件类似于Window中的下拉列表框,几个重要属性如下:AutoPostBackItemsSelectedIndexSelectedItemSelectedValuen掌握利用ListItem集合编辑器和利用代码两种方式添加列表项的方法。n当DropDownList控件中的选中项发生变化时,会引发SelectedIndexChanged事件,但是此事件不会立即回发页面到服务器,除非选择了DropDownList控件的AutoPostBack属性为True。 页面属性的设置1.在属性工具栏

20、中选择“DOCUMENT”后,设置属性:BgColorBackGroundLinkTextaLinkvLinkStyleStyleSheetTitle2.通过单击“Style”属性对话框弹出“样式生成器”来实现3.通过使用样式表如何使用样式表(1)Html标记1.编辑样式表按右键添加项目“样式表”编辑样式表,对某一Html标记设置属性:body font-size:30px;color:Limetdbackground-color:Silver2.应用样式表n在想使用该样式表的文件中将DOCUMENT的StyleSheet属性选择已编辑好的样式表如何使用样式表(2)服务器端对象1.编辑样式表编

21、辑样式表,:.drpcssfont-size:20px2.应用样式表n在想使用该样式的服务器端控件中将CssClass属性设置为相应的样式名称(如本例中的drpcss)使用样式表的好处n使网站风格统一n便于批量修改样式page页面指示符npage指令通过设置其中的属性,使ASP.NET页分析器和编译器使用此页特定设置属性。每个页面只能有一个Page指令。n指令的语法如下: Page指令的常见属性属性描述Language 指定在对页中的所有内联呈现代码进行编译时使用的语言。Visual Basic、C# 或JScript。每页只能使用和指定一种语言。 AutoEventWireup 指示页的事件

22、是否自动绑定。如果启用了事件自动绑定,则为true;否则为false。默认值为true。 EnableViewState 指示是否在页请求之间保持视图状态。如果要保持视图状态,则为true;否则为false。默认值为true。 EnableTheming 指示是否在页上使用主题。如果使用主题,则为true;否则为false。默认值为true。 Inherits定义供页继承的代码隐藏类。它可以是从Page类派生的任何类。它与CodeFile属性(包含指向代码隐藏类的源文件的路径)一起使用。CodeFile指定指向页引用的代码隐藏文件的路径。此属性与Inherits属性一起使用可以将代码隐藏源文件

23、与网页相关联。此属性仅对编译的页有效。ErrorPage定义在出现未处理页异常时用于重定向的目标URL。任务3:选择出行时间和目标城市 n任务要求:能选定城市,被选城市能从左边的列表框(ListBox)中删去,并加入到右边的列表框实现一次可以选择多个城市,并加入到右边的列表框中通过日历控件(Calendar)来选定出行时间。列表框(ListBox)nListBox控件提供一个项目选择的功能,ListBox控件可以一次显示多个项目。用户可以选择一项或者多项。列表框常见的属性和方法类别名称描述属性Items.Counts 返回列表框中包含的项的数量SelectionMode是否允许同时选中多个选项

24、方法Items.Add()向列表框中添加一个新项Items.Remove()移除列表框中的列表项Items.Clear()清除列表框中的所有项日历控件(Calendar)nCalendar控件用于在Web页面上显示日历,以便用户选择具体的日期。Calendar控件的主要属性名称描述SelectedDate选定的日期ShowDayHeader是否显示周标题DayNameFormat周标题的格式FirstDayofWeek首先显示一周中的哪一日(默认是周日)NextMonthText选择下月的标记,默认为&gt,显示为“”PrevMonthText选择前月的标记,默认为&lt,显示

25、为“”ShowNextProMonth是否显示下月和前月标识ShowGridLine是否显示网格线如何快速设计Calendar控件的样式n利用Calendar控件的“智能标记 ”中的“自动套用格式”可以利用系统预定义好的几种日历样式。Calendar控件的重要事件nSelectionChanged在用户更改选择时激发该事件。关键代码(1)n当列表框控件的SelectionMode设置为Single时,将一个列表框中的选定的单个项目添加到另一个列表框关键代码(2)n当列表框控件的SelectionMode设置为Multiple时,将一个列表框中的选定的所有项目添加到另一个列表框知识点n日期的格式

26、化显示观察运行效果 protected void Page_Load(object sender, EventArgs e) Response.Write(DateTime.Now.ToString(yy-M-d); Response.Write();/换行 Response.Write(DateTime.Now.ToString(yy年M月d日); Response.Write(); Response.Write(DateTime.Now.ToString(yyyy-MM-dd); Response.Write(); Response.Write(DateTime.Now.ToString(

27、yyyy年MM月dd日); Response.Write(); Response.Write(DateTime.Now.ToString(yyyy年MM月dd日 h:m:s); Response.Write(); Response.Write(DateTime.Now.ToString(yyyy年MM月dd日 hh:mm:ss); 任务四:设计用户注册界面n知识点:掌握各种验证控件的使用RequiredFieldValidatorCompareValidatorRangeValidatorRegularExpressionValidatorValidationSummaryCustomVali

28、datorRequiredFieldValidatorn必填验证控件:用来确保用户输入,使的输入控件成为强制字段。n重要属性:ControlToValidate:指定关联控件ErrorMessage:当关联控件为空时提示信息的内容Display:验证控件的显示方式,三种显示方式(书上有误)nStatic:即使没有可见错误信息文本,每个验证控件也将占用空间,允许你为页定义固定的布局nDynamic:除非显示错误信息,否则验证控件将不会占用空间,这允许控件共用同一个位置(例如表的单元格)。但在显示错误信息时,页的布局将会更改,有时将导致控件更改位置。nNone:不显示CompareValidato

29、rn比较验证控件: 该控件将一个窗体字段中输入的值与一个常量或另一个控件中输入的值进行比较,并验证值的类型。n重要属性:ControlToValidate:指定关联控件ControlToCompare:指定和关联控件比较的控件Operator:指定比较的方式,共有7中方式,如“大于”、“等于”等。Type:用于比较的值的数据类型(string,integer,double,date,currency)RangeValidatorn范围验证控件:用于验证用户输入的值是否在设定的范围之内。可以检查数字,字符,时间类型的数据。n属性:MaximumValue:指定范围的最大值MinimumValue

30、:指定范围的最小值Type:用于比较的值的数据类型(string,integer,double,date,currency)n本任务须将RangeValidator 对象的Type属性设置为IntegerRegularExpressionValidatorn正则表达式验证控件:用来验证用户输入的值是否符合一定的格式,而这个格式是由设定的正则表达式(RegularExpression)来确定的。常用来验证电子邮件地址,电话号码,身份证号等等。n书写规则:普通字符转义字符字符集合数量限定符位置限定符n重要属性:ValidationExpression:用于确定有效性的正则表达式。Validatio

31、nSummaryn验证摘要控件:用来显示Web页面上所有验证控件的错误信息,其本身并不具有验证功能,只是用来汇总、显示所有的错误信息。n重要属性:DisplayMode:错误摘要输出时的显示方式,有列表,项目符号和单一段落ShowMessageBox:是否使用弹出式显示方式,默认为false。HeaderText:错误摘要输出时的标题ShowSummary:是否显示错误摘要,默认值truen在使用ValidationSummary控件时,我们可以将各个单个的验证控件的Display设置为None,这样就可以只看到ValidationSummary中显示的错误信息。CustomValidator

32、n自定义验证控件:用来验证数据是否符合用户自己定义的验证规则。n可以采用客户端验证和服务器端验证(我们这里只采用服务器端验证)n重要属性:IsValid:是否通过验证,通过值为true,否则值为falseControlToValidate:指定关联控件n事件:ServerValidate:自定义控件验证事件,当验证在服务器发生后执行相应的事件处理代码 protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args) /利用args参数获取在验证关联控件中输入的身份证号 stri

33、ng strid=Convert.ToString(args.Value); /获取身份证倒数第二位 string d = strid.Substring(16, 1); int num = Convert.ToInt16(d); if (drpsex.Text = 男) args.IsValid = (num % 2) = 0 ? false : true; else args.IsValid = (num % 2) = 0?true:false; 任务五:设计广告:n知识点AdRotatorXML文件如何设置页面刷新频率AdRotatornAdRotator功能:用于随机并循环显示一组广告

34、横幅。AdRotator 控件自动进行循环处理,每刷新一次页面改变一次显示内容。可以对广告进行加权以控制横幅的优先级,从而使某些广告的显示频率高于其他广告。 AdRotator广告来源:nXML 文件,可以将广告信息存储在 XML 文件中,其中包含对广告条及其关联属性的引用。n任何数据源控件,如 SqlDataSource 或 ObjectDataSource 控件 例如,可以将广告信息存储在数据库中,接着可以使用 SqlDataSource 控件检索广告信息,然后将 AdRotator 控件绑定到数据源控件。广告XML文件的书写格式n广告XML 文件中可以包括下列属性:ImageUrl 要显

35、示的图像的 URL。NavigateUrl 单击 AdRotator 控件时要转到的网页的 URL。AlternateText 图像不可用时显示的文本。Keyword 可用于筛选特定广告的广告类别。Impressions 一个指示广告的可能显示频率的数值(加权数值)。Height 广告的高度(以像素为单位)。此值会重写 AdRotator 控件的默认高度设置。Width 广告的宽度(以像素为单位)。此值会重写 AdRotator 控件的默认宽度设置一个广告条xml文件示例 /img/hpNoteBook.jpg 惠普笔记本 hp 50 /img/lenovoNoteBook.jpg 联想笔记本

36、 lenovo 150 AdRotatornAdvertisementFile 属性:设置已创建好的广告条 XML 文件的路径 。设置页面刷新频率 AdRotator应用任务六:设计页面Bannern知识点:Web用户控件n学习建立Web用户控件的方法n学习为Web用户控件添加新的属性n学习为Web用户控件添加新的方法Panel控件n学习使用容器控件(Panel)n了解如何在容器控件(Panel)动态添加控件使用Web用户控件的好处n便于其他Web页引用n便于统一修改定义Web用户控件的步骤1.创建Web用户控件文件,文件创建成功会自动生成窗体2.向窗体中添加Web服务器控件,并根据需要设置控

37、件属性3.为Web用户控件定义属性4.为Web用户控件定义方法5.为Web用户控件定义新的事件第一步:创建Web用户控件文件,文件创建成功会自动生成窗体第二步:向窗体中添加Web服务器控件,并根据需要设置控件属性n添加div和Table用于布局n添加Image、Label和DropDownList对象,并设置相应的属性第三步:为Web用户控件定义属性public string EngLanguage get return DropDownList1.SelectedValue; public string ChnLanguage get return DropDownList1.Selecte

38、dItem.Text; public string Title get return Label1.Text; 第四步:为Web用户控件定义方法public void AddLanguage(string EngLanguage,string ChnLanguage) ListItem item = new ListItem(); item.Text = EngLanguage; item.Value = ChnLanguage; DropDownList1.Items.Add(item);public void SetTitle(string Title) Label1.Text = Tit

39、le;Web 用户控件与Web页面的关系 n用户控件与 ASP.NET 网页有以下区别:用户控件的文件扩展名为 .ascx。用户控件中没有 Page 指令,而是包含 Control 指令,该指令对配置及其他属性进行定义。用户控件不能作为独立文件运行。而必须像处理任何控件一样,将它们添加到 ASP.NET 页中。用户控件中没有 html、body 或 form 元素。Panel控件:nPanel 服务器控件在 Web 窗体页内提供了一种容器控件,您可以将它用作静态文本和其他控件的父级 n其他用途:对控件和标记进行分组 动态生成的控件的容器页上的自定义区域 n使用 Panel 控件在页上创建具有自

40、定义外观和行为的区域,如下所示:1.添加滚动条 如果设置了 Height 和 Width 属性将 Panel 控件约束到特定大小,则可通过设置 ScrollBars 属性添加滚动条。2.创建一个带标题的分组框 可设置 GroupingText 属性来显示标题。呈现页时,Panel 控件的周围将显示一个包含标题的框,其标题是您指定的文本。第三章 ASP.NET 内置对象n任务一:获取来访者信息(Request对象)n任务二:使用Cookie登陆网站(Cookie对象)n任务三:为页面设置生存空间(Session对象)n任务四:简单聊天室(Application对象)n任务五:动态在线人数统计AS

41、P.NET 内置对象对象名说明ASP.NET类Request从浏览器中获取信息HttpRequestCookie用来保留客户端信息,保留在客户端HttpCookieResponse向浏览器输出信息HttpResponseSession用来保留客户端信息,保留在服务器端HttpSessionState Application为所有用户提供共享信息的手段HttpApplicationState Server获取服务器端信息HttpServerUtility Trace提供在HTTP页输出自定义跟踪和信息TraceContext 任务一:获取来访者信息n任务描述:来访者使用的浏览器版本来访者使用的计

42、算机平台类型来访者浏览器可接受的MIME字符来访者使用的端口来访者的主机IP和主机名来访者浏览器可接受的编码方式Request对象的属性属性名描述AcceptType获取客户端支持的MIME类型UserHostAddress获取客户端主机的IP地址UserHostName获取客户端的DNS 名称和端口号UserLanguage获取客户端语言的信息Path获取当前请求的虚拟路径Headers获取HTTP头集合QueryString获取HTTP查询字符串的集合Form获取窗体变量集合Browser获取客户端浏览器信息Browser 的二级属性属性名描述Beta浏览器版本是否是Beta版Versio

43、n浏览器版本名称Platform来访者使用的系统平台Cookies浏览器是否支持CookiesActiveXControls浏览器是否支持ActiveXType浏览器名称和主版本号ClrVersion获取安装在客户端的.NET Frame版本UrlReferrer 的二级属性属性名描述Port获取发出客户端请求的端口号Authority获取服务器域名系统的主机名(IP地址)和端口号AbsolutePath获取URL的绝对路径Host获取客户端主机的主机名HostNameType获取URL中主机名的类型任务2:使用Cookie登陆网站n教学目的:学习Cookie对象的主要功能及基本使用方法(写入

44、和读取操作)学习为Cookie设置生存期学习使用Response对象写入Cookieif (CheckBox1.Checked) Response.CookiesID.Value = txtUserID.Text; Response.CookiesPWD.Value = txtpwd.Text; Response.CookiesID.Expires = DateTime.Now.AddYears(1); Response.CookiesPWD.Expires = DateTime.Now.AddYears(1); Response.Redirect(login.htm);读取Cookiepro

45、tected void Page_Load(object sender, EventArgs e) if (!Page.IsPostBack) if (Request.CookiesID != null & Request.CookiesPWD != null) txtUserID.Text = Request.CookiesID.Value; txtpwd.Attributes.Add(Value,Request.CookiesPWD.Value); Cookie 对象概述n概述Cookie 提供了一种在 Web 应用程序中存储用户特定信息(如历史记录或用户首选项)的方法。Cooki

46、e 是一小段文本,伴随着请求和响应在 Web 服务器和客户端之间来回传输 。应用:n保留用户个人信息,如姓名,密码等,帮助用户快速登陆网页n保留用户个人爱好,设计者可以根据Cookie中记录的用户爱好来设置网站的风格注意:nCookie记录在客户端硬盘中,所以会带来一定的安全隐患Cookie 对象写入n操作写入利用Response对象写入nResponse.CookiesID.Value = txtUserID.Text;n/将txtUserID中的Text属性值写入键名为ID的Cookie中。n Response.CookiesID.Expires = DateTime.Now.AddYea

47、rs(1);n/设置键名为ID的Cookie生存时间。n注意注意:如果不设置Cookie的Expires属性,则当页面关闭时,Cookie生命即结束。Cookie 对象读取n操作读取:n利用Request对象ntxtUserID.Text = Request.CookiesID.Value;n将键名为ID的Cookie的值读出,赋值给txtUserID的Text属性。Response对象概述(1)n主要功能:写入Cookie值页面跳转页面间参数传递输出信息(文字信息,二进制数据图片等)Response对象概述(2)类别名称描述属性Cookie将信息写入到CookieRedirect将页面重新定

48、位到指定的页面上方法Close()关闭到客户端的套接字连接 Write()将字符串输出到页面上WirteFile() 文本文件中的内容输出到网页上Response对象页面跳转n重定向到服务器内的页面Response.Redirect(login.htm);n重定向到服务器以外的站点 Response.Redirect(http:/);Response.Close();/断开页面和服务器端的连接Response对象页面间参数传递n获取用户注册页用户注册信息。代码分析:nchp3_2_21.aspx页面:Response.Redirect(chp3_2_22.aspx?userid= + txtu

49、serid.Text + &userpwd= + txtpassword.Text);nchp3_2_22.aspx页面:ListBox1.Items.Add(获取的用户名:+Request.Paramsuserid);ListBox1.Items.Add(获取的密码: + Request.Paramsuserpwd);ListBox1.Items.Add(获取的用户名: + Requestuserid);ListBox1.Items.Add(获取的密码: + Requestuserpwd);Response对象输出信息(文字信息)nWrite()方法输出字符串Response.Wri

50、te(hello world);Response.Write(Hello World );Response.Write(Server.HtmlEncode(Hello World );nWriteFile()方法输出文本文件内容到页面Response.ContentEncoding = System.Text.Encoding.GetEncoding(GB2312); Response.WriteFile(textfile.txt);Response对象输出信息(二进制数据)string path = ;path = Server.MapPath(/img);System.Drawing.Im

51、age img = System.Drawing.Image.FromFile(path + /1.png);System.IO.MemoryStream ms = new System.IO.MemoryStream();img.Save(ms, System.Drawing.Imaging.ImageFormat.Png);Response.ClearHeaders();Response.ContentType = image/jpeg;Response.ClearContent();Response.BinaryWrite(ms.ToArray();任务三:为页面设置生存时间n学习Ses

52、sion对象的基本使用方法n学习Session对象的主要方法n学习Session对象的主要属性n掌握如何使用Session对象在页面间传递参数,实现用户验证和设置会话生存期。Chp3_3_1.aspxprotected void Button1_Click(object sender, EventArgs e) string userid = txtuserid.Text.Trim(); string pwd = txtpwd.Text; /判断用户名和密码是否正确 if(userid!=sun | pwd!=12345) return; /设置Session对象ID的值和Session对象的

53、生存时间 SessionID = OK; Session.Timeout = 1; /利用Response对象跳转页面 Response.Redirect(index.aspx); index.aspx (1)protected void Page_Load(object sender, EventArgs e) /检验用户是否正常登录 /当用户未正确登录或直接在地址栏中输入本页地址时,SessionID 的值都不会等于OK if (!Page.IsPostBack) if (SessionID != OK) Response.Redirect(login.htm); index.aspx (

54、2)/退出系统protected void lnkexit_Click(object sender, EventArgs e) /取消当前会话 Session.Abandon(); Response.Redirect(chp3_3_1.aspx); login.htm单击超链接文本单击超链接文本“登录登录”,页面,页面转到转到“chp3_3_1”Session对象概述nSession是ASP.NET 提供的一个内置对象,用来存储一个特定用户的会话信息。n当一个用户对一个页面发出请求时,即开始了一次会话,生成一个用唯一SessionID标识的Session,来唯一的标识该用户,该Session将

55、一直存在到浏览器被关闭或Session超时。n在服务器每个在线用户都有一个专有的Session,该Session 仅能被拥有者使用。Session 对象的特点和优点 包含用户特定信息 在会话中跟踪和监视用户信息 会话期满(Timeout)后销毁对象Session对象和Cookie比较n二者都是用来临时存储来访者信息n区别:存放位置:Cookie对象将信息存放在客户端,Session对象存放在服务器生存期:Cookie可以长期保存,Session生存期到会话结束了解:Session对象的存储位置n指定会话状态模式 InProc会话状态正在处理 ASP.NET 辅助进程。 StateServer会

56、话状态正在使用进程外 ASP.NET 状态服务存储状态信息。SQLServer会话状态正在使用进程外 SQL Server 数据库存储状态信息。 Off会话状态被禁用。n引发 Session 丢失的几种原因及解决方法任务四:简单聊天室n掌握Application 对象的基本使用方法Application 对象的主要方法Application 对象的主要属性Chp3_4_1.aspx (1)n完成功能:将用户信息保存到Session对象中,并跳转页面至“Chap.aspx”n页面设计:txtidtxtpwdbtnregisterChp3_4_1.aspx (2)n代码:protected voi

57、d btnregister_Click(object sender, EventArgs e) /声明两个Session对象,分别存放用户ID和用户pwd SessionID = txtid.Text; Sessionpwd = txtpwd.Text; Response.Redirect(chat.aspx); Global.asax void Application_Start(object sender, EventArgs e) / 在应用程序启动时运行的代码 ApplicationContent = ; Chat.aspx (1)n功能利用Application对象和Session对

58、象实现简单聊天室n页面设计txtChattxtContentlblUserId注意:在网页源代码的之间添加Chat.aspx (2) protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) /判断用户是否已经登陆 if (SessionID = null | SessionID.ToString() = ) Response.Redirect(chp3_4_1.aspx); /显示当前会话用户名和在线人数 lblUserId.Text = SessionID.ToString(); /显示聊天内容 txtCon

59、tent.Text = ApplicationContent.ToString(); Chat.aspx (3)protected void btnsend_Click(object sender, EventArgs e) string speaker = SessionID.ToString(); string temp = ApplicationContent.ToString(); ApplicationContent = temp + speaker + 说: + txtChat.Text + n; txtContent.Text = ApplicationContent.ToStr

60、ing();Application对象n定义Application对象变量并赋值的语法为Application变量名称=变量。n取得Application对象变量值的语法为变量= Application变量名称n因为Application对象变量被所有用户共享值,所以可能造成两个以上的使用者同时存取同一个变量的情形,可能会导致存入的数据不正确。要避免这种情况,我们只要利用Application对象的Lock方法将变量暂时锁定禁止他人写入,等操作完毕后再利用Application对象的UnLock方法解除锁定。使用方法如下:Application.Lock();Application变量=内容;Application.UnLoc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论