《Visual Basic NET 2008从基础到项目实战》课件21 ASP.Net网站开发基础.ppt

收藏

编号:20246147    类型:共享资源    大小:1.36MB    格式:PPT    上传时间:2023-12-08
15
文币
关 键 词:
Visual Basic NET 2008从基础到项目实战 《Visual Basic NET 2008从基础到项目实战》课件21 ASP.Net网站开发基础 Visual 2008 基础 项目 实战
资源描述:
第21章 ASP.Net网站开发基础ASP.NET是一个统一的Web开发模型,作为.NET Framework的一部分提供。当使用ASP.NET来进行网站开发时,不仅可以使用.Net Framework中提供的类,甚至可以使用与公共语言运行库(CLR)兼容的任何语言来编写应用程序的代码,包括Microsoft Visual Basic、C#、JScript.NET和J#。使用这些语言,可以开发利用公共语言运行库、类型安全、继承等方面的优点的ASP.NET应用程序。本章将介绍ASP,NET网站开发的基础内容,并使用VB.NET作为编程语言来编写网站中的代码。章节内容21.1 ASP.NET基础21.2 Web控件21.3 ASP.NET内置对象21.4 实例:图书信息管理Web版21.1 ASP.NET基础21.1.1 HTML21.1.1 HTML简介简介超文本标记语言HTML(HyperText Markup Language)是一种用来制作超文本文档的简单标记语言。用HTML编写的超文本文档称为HTML文档,它能独立于各种操作系统平台(如UNIX,WINDOWS等)。自1990年以来HTML就一直被用作World Wide Web上的信息表示语言,用于描述网页的内容以及与WWW上其他页面的链接信息。HTML文档所有的HTML标记都使用一对尖括号()括起来。通常由3对标记来构成一个HTML文档的骨架。头部信息文档主体,正文部分一个简单的HTML文档的例子123这里是标题部分4567HTML文档例子891011该文档使用HTML语言编写1213下一段内容1415这是一个指向百度搜索超链接1617在浏览器中的显示效果样式表(CSS,Cascading Style Sheets)将对页面外观的各种属性设置单独放在一个文档中。在页面里仅引用该文档的设置,即可获得统一的风格。这样的文档称为样式表(CSS,Cascading Style Sheets)。样式表文档其实也是文本文档,后缀为.css,由一些标记和属性设置组成,需要与HTML结合使用才有效。引入了样式表以后,HTML文档的内容和外观就可以分开了。样式表例子1body2color:blue;34a:link5font-weight:bold;6color:red;78a:visited9font-weight:bold;10color:brown;1112a:hover,a:active13color:chocolate;14在HTML文档中引用该样式表打开HTML文档,在标记中加入下面的代码。在浏览器中的显示效果21.1.2 Web21.1.2 Web工作原理工作原理客户机-服务器模型请求应答模式事件驱动模式服务器等待客户机发生的事件,一旦某个事件发生,服务器就执行相应的事件处理过程来响应该事件。对于Web应用程序开发而言,使用事件驱动模型比使用请求应答模型容易得多。ASP.NET就是采用事件驱动方式来构建Web应用程序的。21.1.3 21.1.3 第一个第一个ASP.NETASP.NET应用程序应用程序与页面模型与页面模型创建一个Web应用程序,至少应当包含两部分的代码:一部分是在客户端看到的可视页面部分;另一部分就是服务器端运行的代码部分。也将前者称为可视组件,后者称为逻辑。页面模型ASP.NET网页的逻辑由代码组成,这些代码由程序员创建以与页进行交互,包括事件处理程序和其他代码。这些代码可以放置在页的script块中或者放置在单独的类中。代码驻留在aspx页面的script块中的时候,就和可视组件共享一个文件,这种方式叫做单文件模型(Single File Model)。如果代码在单独的类文件中,则该文件称为代码隐藏文件,这种模型相应的称为代码隐藏模型(Code Behind Model)。创建第一个ASP.NET应用程序首先单击菜单栏中的【文件】【新建网站】命令,打开【新建网站】窗口。网站的目录结构新创建的网站一般具有类似的文档结构。默认的首页是Default.aspx,对应的代码文件为Default.aspx.vb。web.config为配置文件;App_Data现在还是个空目录,用于放置网站中的数据文件。页面属性设置Title属性用于设置该页面的标题。BgColor属性设置页面的背景色。Alink、Link和Vlink属性分别用于设置页面中活动链接、链接和已访问链接的颜色。添加控件向Web窗体中添加一个文本框和一个按钮。方式与Windows应用程序设计类似,从工具箱中拖动到Web窗体中即可。控件属性设置Windows应用程序设计中使用的Button控件继承自System.Windows.Forms.Button,而Web应用程序设计中用到的Button控件继承自System.Web.UI.WebControls.Button。它们很类似,很多属性设置也相同,但是这是两种不同的控件,继承自不同命名空间中的类,后者称为Web控件。页面源代码单击页面左下角的【源】按钮,将页面切换到源视图,可以看到页面的源代码。可以看到这是一个HTML文档。编写代码下面我们实现单击按钮,在文本框中显示“Hello World!”字符串的简单功能。双击按钮,编写其单击事件过程,代码如下。1PartialClass_Default2InheritsSystem.Web.UI.Page34ProtectedSubButton1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesButton1.Click5TextBox1.Text=HelloWorld!6EndSub7EndClass局部类型类声明部分稍微有点不同。第1行的Partical关键字表示该类是一个局部类型。局部类型允许我们将一个类、结构或接口分成几个部分,分别实现在几个代码文件中。局部类型是一个纯语言层的编译处理,不影响任何执行机制事实上,编译器在编译的时候仍会将各个部分的局部类型合并成一个完整的类。运行结果代码隐藏模型上面的例子中,Default.aspx页面中仅放置了HTML标签,按钮的单击事件过程代码放在Default.aspx.vb文件中,这种结构就是代码隐藏模型。Default.aspx.vb文件称为代码隐藏文件。可见,ASP.NET默认使用的代码隐藏模型来构建Web应用程序的单页面模型再添加一个新的Web窗体。单击菜单栏中的【网站】【添加新项】,打开如图21-10所示的添加新项窗口。在【模板】列表框中选择【Web窗体】,【名称】文本框中输入“SingleFileModel.aspx”。注意,取消对【将代码放在单独的文件中】复选框的勾选。123456ProtectedSubButton1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)7TextBox1.Text=这是单文件模型8EndSub910111213无标题页14151617181920212223可以看到,在上面的例子中,HTML标记和代码是放在同一个文件中,这就是单文件模型。编程代码位于script块中,该块包含runat=server属性,此属性将其标记为ASP.NET应执行的代码。两种页面模型的不同在【解决方案资源管理器】窗口中也可以看到两种页面模型的不同。采用代码隐藏模型的页面展开节点后能看到一个同名的后缀为.vb的代码文件,而采用单文件模型的页面没有展开节点。Page指令代码隐藏模型的Default.aspx单文件模型的SingleFileModel.aspx,实际上代码隐藏模型相当于把script部分移到了aspx.vb文件中去了,而这两部分通过Page指令的CodeFile属性和Inherits属性连接起来。代码隐藏文件包含默认命名空间中的完整类声明。但是,类是使用partial关键字进行声明的,这表明类并不整个包含于一个文件中。而在页运行时,编译器将读取.aspx页以及它在Page指令中引用的文件,将它们汇编成单个类,然后将它们作为一个单元编译为单个类。单文件页模型和代码隐藏页模型功能相同。在运行时,这两个模型以相同的方式执行,而且它们之间没有性能差异。至于采用哪种模型完全是因地制宜。21.2 Web控件Web控件是ASP.NET页面上的对象,ASP.NET中可以使用的控件类型有以下几个。HTML服务器控件。Web服务器控件。验证控件。用户控件。21.2.1 21.2.1 常用常用WebWeb控件控件常用的Web控件包括Label、TextBox、Button、DropDownList等。这几个控件均有相对应的Windows窗体控件,其使用方式类似。Calendar控件Calendar控件可以在页面中显示一个日历以及特定日期。用户还可以可以选择日期。Calendar控件一次显示一个月份中的日期,同时共显示六周。Calendar控件常用的属性和事件SelectedDate:获取或设置选定的日期。SelectionMode:指定用户可以选择单日、一周还是整月。TodaysDate:获取或设置今天的日期的值。DayRender事件:当为Calendar控件创建每一天时发生。SelectionChanged事件:当用户通过单击日期选择器控件选择一天、一周或整月时发生。如果要获取用户选择的日期,可以在SelectionChanged事件中获取SelectedDate属性值,该值为DateTime类型,代码如下。Response.Write(Calendar1.SelectedDate.ToString()如果想在某个特殊日子加入自定义文本显示,可以在DayRender事件中进行设置。例如,我们想在10月1日的日子里显示“国庆节”字样,且字体为红色。1ProtectedSubCalendar1_DayRender(ByValsenderAsObject,ByValeAsSystem.Web.UI.WebControls.DayRenderEventArgs)HandlesCalendar1.DayRender2DimmonthAsInteger=103DimdayAsInteger=14If(e.Day.Date.Month=monthAnde.Day.Date.Day=day)Then5e.Cell.Text=国庆节6e.Cell.ForeColor=System.Drawing.Color.Red7EndIf8EndSub其中,DayRenderEventArgs是时间参数,含有日期控件的特定信息;Day属性是DateTime类型的日期;Cell属性表示显示日期的单元格。FileUpload控件FileUpload控件使用户能够上载图片、文本文件或其他文件。FileUpload控件显示一个文本框,在此用户可以键入希望上载到服务器的文件的名称。该控件还显示一个【浏览】按钮,该按钮显示一个【文件导航】窗口。注意用户选择要上载的文件后,FileUpload控件不会自动将该文件保存到服务器。FileUpload控件常用的属性和方法FileName属性:获取客户端上使用FileUpload控件上载的文件的名称。HasFile属性:获取一个值,该值指示FileUpload控件是否包含文件。PostedFile属性:获取使用FileUpload控件上载的文件的基础HttpPostedFile对象。SaveAs方法:将上载文件的内容保存到Web服务器上的指定路径。示例:文件上传首先新建一个页面,并在页面上拖放一个FileUpload控件,ID为FileUpload1;然后再拖拽一个Button控件,ID为Button1。编写Button1的单击事件过程,代码如下。1ProtectedSubButton1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesButton1.Click2保存上传文件的目录3DimsavePathAsString=Server.MapPath(/upload/)4如果不存在目录则创建5If(NotSystem.IO.Directory.Exists(savePath)Then6System.IO.Directory.CreateDirectory(savePath)7EndIf8如果有上传文件9If(FileUpload1.HasFile)Then10savePath+=FileUpload1.FileName得到保存文件的全路径11FileUpload1.SaveAs(savePath)保存上传文件12Response.Write(FileUpload1.PostedFile.ContentLength+字节)13Response.Write(FileUpload1.PostedFile.ContentType+)14EndIf15EndSub21.2.3 21.2.3 验证控件验证控件Web应用程序常涉及用户注册、登录等模块。在用户填写表单并提交到服务器后,服务器对用户输入的内容进行检查,如果有错误或格式不正确,返回错误信息,提示用户重新输入。整个过程由于需要与服务器交互,因此速度很慢。ASP.NET提供简单易用且功能强大的验证控件,可以轻松完成上述任务。这些控件均位于工具箱的验证选项卡中。RequiredFieldValidator控件该控件用于验证用户输入是否为空。通过将该控件关联到需要验证的输入控件,可以指定某个用户在ASP.NET网页上的特定控件中必须提供信息。最主要的3个属性ControlToValidate属性:用于设置与该控件关联的需要验证的输入控件ID。Display属性:用于设置错误信息的显示方式Static:在页面布局中分配用于显示验证消息的空间。Dynamic:如果验证失败,将用于显示验证消息的空间动态添加到页面。None:验证消息从不内联显示。ErrorMessage属性:用于设置显示的错误信息。示例:指定用户在提交注册窗体之前必须填写【姓名】文本框页面源代码如下。123457891011RangeValidator控件该控件可以确定用户输入是否介于特定的取值范围内。例如,介于两个数字、两个日期或字母字符之间。重要属性ControlToValidate、Display和ErrorMessage属性。MaximumValue:最大值。MinimumValue:最小值。Type:验证的值类型。ng:字符串数据类型。Integer:32位有符号整数数据类型。Double:双精度浮点数数据类型。Date:日期数据类型。Currency:货币数据类型。示例:验证一个文本框的输入必须是0100之间的整数页面源代码1234789RegularExpressionValidator控件控件可以使用正则表达式来检查用户输入是否匹配预定义的模式,如电话号码、邮编、电子邮件地址等。常用的正则表达式功能表达式Internet URLhttp(s)?:/(w-+.)+w-+(/w-./?%&=*)?Internet Email地址w+(-+.w+)*w+(-.w+)*.w+(-.w+)*电话号码(d3)|d3-)?d8身份证号d17d|X|d15邮政编码d6不必记忆这些常用表达式,单击ValidationExpression属性右侧的 按钮,在打开的【正则表达式编辑器】窗口中,ASP.NET内置了许多标准表达式。示例:验证文本框的输入是否符合电子邮件地址规范1234789101121.3 ASP.NET内置对象这些对象在ASP时代已经存在,到了ASP.NET环境下,这些功能仍然可以使用。而且,它们的种类更多,功能也更强大。Request对象Request对象是HttpRequest类的一个实例。它能够读取客户端在Web请求期间发送的HTTP值。常用属性属性说明属性值QueryString获取HTTP查询字符串变量集合NameValueCollection对象Path获取当前请求的虚拟路径当前请求的虚拟路径UserHostAddress 获取远程客户端的IP 主机地址远程客户端的IP地址Browser获取有关正在请求的客户端的浏览器功能的信息HttpBrowserCapabilities对象示例:在页面间传递参数程序中,经常可以使用QueryString来获得从上一个页面传递来的字符串参数。例如,在Page1中创建一个连接,指向Page12,并用QueryString来查询两个变量,代码如下。查看在Page12中接收到从Page11中传过来的两个变量,代码如下。1ProtectedSubPage_Load(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMe.Load2Response.Write(变量ID的值为:&Request.QueryString(ID)&)3Response.Write(变量Name的值:&Request.QueryString(name)4EndSub运行结果常用方法MapPath:为当前请求将请求的URL 中的虚拟路径映射到服务器上的物理路径MapPath方法常用于获取文件的物理路径,写法如下。Request.MapPath(FileName)可以通过这条语句来得到某个文件的实际物理位置,这个方法常常用在需要使用实际路径的地方。Response对象Response对象是HttpResponse类的一个实例。该类主要是封装来自ASP.NET操作的HTTP响应信息。Response对象可以输出信息到客户端,包括直接发送信息给浏览器、重定向浏览器到另一个URL或设置cookie的值。常用方法方法说明Write将指定的字符串或表达式的结果写到当前的HTTP输出Redirect使浏览器立即重定向到程序指定的URL使用Response.Write向客户端发送信息1ProtectedSubPage_Load(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMe.Load2Fori=1To103Response.Write(i=&i&)4Next5EndSub使用Redirect方法进行页面重定向1ProtectedSubButton1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesButton1.Click2Response.Redirect(HTTP:/)3EndSubApplication对象Application对象是HttpApplicationState类的一个实例。对于Web服务器上的每个ASP.NET应用程序,都会创建一个单独的实例。然后通过内部Application对象公开对每个实例的引用。Application对象使给定应用程序的所有用户之间共享信息,并且在服务器运行期间持久地保存数据。多个用户可以共享一个Application对象常用属性属性说明属性值AllKeys获取HttpApplicationState集合中的访问键HttpApplicationState对象名的字符串数组Count获取HttpApplicationState集合中的对象数集合中的Item对象数。默认为0常用方法方法说明Add新增一个新的Application对象变量Clear清除全部的Application对象变量Get使用索引关键字或变数名称得到变量值GetKey使用索引关键字來获取变量名称Lock锁定全部的Application变量Remove使用变量名称删除一个Application对象RemoveAll删除全部的Application对象变量Set使用变量名更新一个Application对象变量的內容UnLock解除锁定的Application变量Application对象的使用Application(变量名)=变量值示例:设置并获取Application对象的内容1ProtectedSubPage_Load(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMe.Load2Application.Add(App1,Value1)3Application.Add(App2,Value2)4Application.Add(App3,Value3)56DimnAsInteger7Forn=0ToApplication.Count-18Response.Write(变量名:+Application.GetKey(n)9Response.Write(变量值:+Application.Get(n)+)10Nextn1112Application.Clear()13EndSubSession对象Session对象是HttpSessionState的一个实例。该类为当前用户会话提供信息,还提供对可用于存储信息的会话范围的缓存的访问,以及控制如何管理会话的方法。Session的发明填补了HTTP协议的局限。常用属性属性说明属性值Count获 取 会 话 状 态 集 合 中Session对象的个数Session对象的个数TimeOut获取并设置在会话状态提供程序终止会话之前各请求之间所允许的超时期限超时期限(以分钟为单位)SessionID获取用于标识会话的惟一会话ID会话ID常用方法方法说明Add新增一个Session对象Clear清除会话状态中的所有值Remove删除会话状态集合中的项RemoveAll清除所有会话状态值21.4 实例:图书信息管理Web版主页面
展开阅读全文
出国留学广告
提示  文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:《Visual Basic NET 2008从基础到项目实战》课件21 ASP.Net网站开发基础.ppt
链接地址:https://www.wenkunet.com/p-20246147.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

文库网用户QQ群:731843829  微博官方号:文库网官方   知乎号:文库网

Copyright© 2025 文库网 wenkunet.com 网站版权所有世界地图

经营许可证编号:粤ICP备2021046453号   营业执照商标

1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png