学习资料ASP讲座(建立网站)_第1页
学习资料ASP讲座(建立网站)_第2页
学习资料ASP讲座(建立网站)_第3页
学习资料ASP讲座(建立网站)_第4页
学习资料ASP讲座(建立网站)_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1、 学习资料之ASP建站 ASP.Net开发一、 演示如何开发创建第一个页面(按照书中的顺序进行)1、 启动Microsoft Visual Studio 20052、 新建立网站 问题:ASP.Net的每一个页面生成多少个文件,其扩展名是什么?二、 ASP.Net窗体页1、 扩展名:aspx2、 文件类型:文本文件3、 特点:可以通过动态编译和执行,可以以网页的方式呈现给客户的浏览器。4、 运行流程客户端申请一个扩展名为.aspx的资源时,ASP.Net运行库会对目标文件进行分析并将其编译,生成网页,传递给客户端。5、 网页解释:(1) -表示一个内部嵌入另一种开发语言,有别于Html语言(2

2、) Page-定义 ASP.NET 页解析器和编译器所使用的特定页面的属性,只可包括在 .aspx 文件中,每个 ASPX 页只能有一个 Page 指令 Page 指令的语法如下: (3)AutoEventWireup-指示页的事件是否自动绑定。如果启用了事件自动绑定,则为 true;否则为 false。默认值为 true。 页有哪些事件:Page_Init;Page_Load,当设定为true的时候,程序就会自动调用这些事件,否则就不会调用;(4)CodeFile-页面的后台编码文件的文件名,此属性与 Inherits 属性一起使用可以将代码隐藏源文件与应用程序文件相关联。 (5)runat

3、=server:表示这个标记在服务器端运行6、 ASP.NET 网页由两部分组成: (1)可视元素,包括标记、服务器控件和静态文本。(2)页的编程逻辑,包括事件处理程序和其他代码。ASP.NET 提供两个用于管理可视元素和代码的模型,即单文件页模型和代码隐藏页模型。这两个模型功能相同,两种模型中可以使用相同的控件和代码。 单文件页模型在单文件页模型中,页的标记及其编程代码位于同一个物理 .aspx 文件中。编程代码位于 script 块中,该块包含 runat=server 属性,此属性将其标记为 ASP.NET 应执行的代码。void Button1_Click(Object sender,

4、 EventArgs e) Label1.Text = Clicked at + DateTime.Now.ToString(); Single-File Page Model script 块可以包含页所需的任意多的代码。代码可以包含页中控件的事件处理程序(如该示例所示)、方法、属性及通常在类文件中使用的任何其他代码。在运行时,单文件页被作为从 Page 类派生的类进行处理。该页不包含显式类声明。但编译器将生成将控件作为成员包含的新类。(并不是所有的控件都作为页成员公开;有些控件是其他控件的子控件。)页中的代码成了该类的一部分;例如,创建的事件处理程序将成为派生的 Page 类的成员。代码隐

5、藏页模型通过代码隐藏页模型,可以在一个文件(.aspx 文件)中保留标记,并在另一个文件中保留编程代码。代码文件的名称会根据所使用的编程语言而有所变化。 网站路径一、 目的:确定文件的路径二、 客户端指定路径的方式(1) 绝对URL路径:(2) 站点根目录相对路径以站点的根目录为开始,对路径进行解析。如何Images文件夹位于根目录下,则路径为:(3) 当前页面路径以当前页的路径为开始,对所需要的文件路径进行解析;三、 服务器路径1、 绝对路径:与客户端一样。2、 相对路径:与客户端一样。四、 路径的优缺点1、 绝对路径:不能移植,如果出现移植,就会找不到相应的文件,则链接中断。2、 相对路径

6、:如果移动了文件夹,此原来链接的文件也会中断。五、 ASP.Net的解决方案1、 目录运算符:取得当前WEB应用程序的根目录;此运算符只能应用于ASP.Net的服务器中。用法:无论当前的页面在哪一个位置,如果需要根目录下Images/sample.jpg的文件,都可以采用如下解析方式:/Images/sample.jpg2、 如何取得当前网站的物理文件路径属性说明PhysicalPath网页的物理文件系统路径 PhysicalApplicationPath 正在执行的应用程序的根目录的物理文件系统路径ApplicationPath 当前应用程序的根目录路径/WebSizeFilePath 获取

7、当前请求的虚拟路径,从WEB的根目录开始 服务器控件介绍一、 什么是服务器控件1、 能够在服务器端代码访问和操作的任何控件。为使服务器控件能被服务器访问,每一个服务器控件都有一个:id属性-唯一标识这个控件;runat=”server”-标识是服务器控件2、 服务器控的作用:(1) 能够参与页的执行,并按照自己的标识呈现给客户端。(2) 可以通过编程方式设置其属性;(3) 通过控件公开的事件,编程设置其行为;如按钮的双击事件;二、 ASP.Net2.0服务器控件的种类型1、 1、HTML服务器控件标准的HTML标记,在静态网页中并没有办法利用程序直接来控制它们的属性、使用方法和接收事件;程序设

8、计师必须另外学习其它如JavaScript 等程序语言才得以控制这些HTML标记。ASP.NET 为动态网页程序设计带来了许多新的技术,这些技术其中之一就是将所有的HTML 标记对象化,让程序可以直接控制;对象化之后的HTML 标注我们称为HTML控件(1) 控件在System.Web.UI.HtmlControls名空间中(2) 标准在工具箱中的HTML下的控件是客户端的控件,服务器是无法使用的;(3) 可以通过增加属性的方式使其转换成服务器控件runat=”server”;(4) 如果想在代码中使用 此控年,则还要分配一个id值给它。(5) 增加了服务器的能力:增加了一个OnServerC

9、lick事件;(6) 同时也可以使用原有的客户端的脚本能力;2、 例子1,服务端如何操作Html的事件,增加HTML控件的原有属性;3、HTML 控件常用属性(1)InnerHtml 属性和InnerText:用于取得或设置开始标记和结束标记之间的文字内容;只是InnerHtml中可以设置Html标记;(2)Disabled 属性:称做禁能。禁能就是将一个对象的功能关闭,让对象暂时无法执行工作。所以如果将对象的Disabled 属性设为True 时,该对象会显示为灰色并且停止工作,Disabled 属性设回False,该控件即可正常工作。(3)Visible 属性:Visible 属性可以让一

10、个对象的视觉元素消失,换句话说就是将对象隐藏起来让使用者看不到。(4)Attributes 属性:有两个方法可以指定对象的属性,第一种是我们前面常用的 对象.属性 ,而另外一种就是 对象.Attributes(属性名称)(5)Style 属性:本属性可以用来设定控件的样式4、基础HTML 控件HtmlAnchor 控件HtmlAnchor 控件可以用来指定超级链接,其使用语法为:5、HtmlTable、HtmlTableRow、HtmlTableCell 控件HtmlTable 控件可以配合HtmlTableRow 以及HtmlTableCell 控件来动态的产生表格,其关系为:HtmlTab

11、le 控件是由许多列(Row)所组成,而每一列中是由许多储存格(Cell)所组成。所以HtmlTable 控件中有Rows 集合,HtmlTableRow 控件中有Cells 集合。我们依秩序利用HtmlTableRow 中Cells 集合的Add 方法,将HtmlTableCell 控件串成一列(Row)后,再将这一列加到HtmlTable 的Rows 集合中,这样一来表格就大功告成了。这些组成表格的控件都可以设定一些外观属性,我们先来看看HtmlTableCell 控件的语法:储存格内容一般来说我们会利用程序来产生HtmlTableCell 对象,设定好属性之后,我们再加入HtmlTabl

12、eRow 对象中的Cells 集合中。接下来我们来看看HtmlTableRow 控件的语法:字段内容字段内容利用程序来产生HtmlTableCell 对象后,我们再加入HtmlTableRow 对象中的Cells 集合中。等表格的一列定义好之后,再利用HtmlTable 对象的Rows 集合,将表格的列加入集合中。我们来看看HtmlTable 控件的语法:五、状态1、HTTP请求流程 (1)浏览器与服务器之间通信1)建立一个连接,然后浏览器才能向服务器发送请求信息;2)服务器在接受到请求信息后,返回相应的应答信息;3)浏览器接收到来自服务器的应答信息后,对这些数据进行解释执行,呈现出来;(比如

13、我们访问一个页面,当该页面在浏览器中显示出来的时候,我们可以拔掉网线,此时该页面上的信息并不会丢失。)4)服务器释放连接; HTTP请求消息 1次完整的http请求消息包括:一个请求行、若干消息头以及实体内容,而消息头和实体内容可以没有,消息头和实体内容间有一个空行。 我们来看一个例子(为了便于说明,我在每行前加了序号): 1 Get /mattmarg/ HTTP/1.0 2 User-Agent: Mozilla/2.0 (Macintosh; I; PPC) 3 Accept: text/html; */* 4 Cookie: name = value 5 Referer: http:/

14、www.XXX.com/a.html说明:Get /mattmarg/ HTTP/1.0:请求方式为Get,请求的文件位于根目录/mattmarg/下,HTTP/1.0 表示了http的版本为1.0。User-Agent):如果是浏览器则返回相应的浏览器型号;Accept:可以解释的数据类型;Referer:来自哪一个网页;Accept-Language:能支持哪一种语言。我们可以通过以下方法来验证一下:1、打开浏览器-工具-internet选项-常规选项卡2、选择语言,可见默认的语言是中文选择添加,选择一种语言,然后调节一下优先顺序HTTP响应消息Http响应消息的格式为:一个状态行、若干消

15、息头和实体内容,其中消息头和实体内容可以没有,消息头和实体内容间有一个空行。 我们依旧先来看一个例子: 01 HTTP/1.1 200 OK 02 Server: Microsoft-IIS/5.1 03 X-Powered-By: ASP.NET 04 Date: Sun, 06 Jul 2008 11:01:21 GMT05 Content-Type: text/html 06 Accept-Ranges: bytes 07 Last-Modified: Wed, 02 Jul 2008 01:01:26 GMT 08 ETag: 0f71527dfdbc81:ade 09 Content

16、-Length: 46 10 11 adfasfa其中,01行是状态行,用于显示服务器响应的状态,HTTP/1.1显示了对应的http协议版本,200为状态数字,OK为状态信息用于解释状态数字(这里OK对应200,表示请求正常);0209是消息头部分,10为空行,11为实体内容(也就是服务器返回的网页内容)。2、视图状态:(1)介绍:Web 应用程序是无状态的。每次从服务器请求网页时,都会创建网页类的一个新实例。这通常意味着在每次往返过程中将会丢失所有与该页面及其控件关联的信息。ASP.NET页框架包含几种状态管理功能,可以将往返过程之间的页和控件值保存到 Web 服务器,其中一种功能便是视图

17、状态。视图状态是 ASP.NET 页框架默认情况下用于保存往返过程之间的页和控件值的方法。当呈现页的 HTML 形式时,需要在回发过程中保留的页的当前状态和值将被序列化为 Base64 编码的字符串,并保存到一个叫_VIEWATATE的隐藏字段中;下次回传到服务器时,通过Form再传到服务器。采用一个例子说明视图状态。ViewStateTest的例子。(2)如何通过视图状态传数据:适用于本页的服务器和客户端之间传递数据,见例子GetViewState;(3)EnableViewState: 获取或设置一个值,该值指示服务器控件是否向发出请求的客户端保持自己的视图状态以及它所包含的任何子控件的视

18、图状态下列服务器控件不能禁止ViewStateTextbox CheckboxCheckbox ListRadioButtonList(4)使用视图状态的优点不需要任何服务器资源视图状态包含在页代码内的结构中。实现简单视图状态无需使用任何自定义编程。默认情况下对控件启用状态数据的维护。增强的安全功能视图状态中的值经过哈希计算和压缩,并且针对 Unicode 实现进行编码,其安全性要高于使用隐藏域。使用视图状态的缺点 性能注意事项由于视图状态存储在页本身,因此如果存储较大的值,用户显示页和发送页时的速度可能会减慢。尤其是对移动设备,其带宽通常是有限的。 设备限制移动设备可能没有足够的内存容量来存

19、储大量的视图状态数据。 潜在的安全风险视图状态存储在页上的一个或多个隐藏域中。虽然视图状态以哈希格式存储数据,但它可以被篡改。如果直接查看页输出源,可以看到隐藏域中的信息,这导致潜在的安全性问题。有关更多信息三、 WEB服务器控件1、 种类:(1)标准服务器控件,(2)验证控件,(3)数据控件、(4)导航控件,(5)登录控件,(6)WEB部件2、 用法:3、 Web服务器控件的基数System.Web.UI.WebControls4、 服务器控件的共同属性 所有的Web 控件共同都有的属性。这些属性有:AccessKey:Attributes:BackColor:BorderWidth: Bo

20、rderStyle: CSSClassCSSStyle:Enabled:Font-Bold:Font-Italic:Font-Name: Font-NamesFont-Overline Font-Size Font-StrikeoutFont-UnderlineForeColor HeightTabIndexToolTip Width四、 服务器控件介绍1、 Label控件功能:可以采用编程方式显示ASP.NET网页中文本的方法。用法:(1) 静态文本可以采用HTML呈现它。不需要Label,只有在服务代码中更改文本的内容时使用。(2) (3) 可以根据不同的浏览器,显示不同的内容。五、Tex

21、tBox功能:能给用户输入(文本、数字和日期)的输入框;可以通(1)过TextMode的属性设置的不同,有三种输入方式:SingleLine:PassWord;MultiLine:(2)创建多行文本 1)属性:TextMode:Multiline; 2)设置控年的Size:Columns; 3)换行方式:通过设置Wrap的属性自动换行,如果是True,自动换行。(3)AutoCompleteType功能:可以记忆用户曾经输入过的文字,下次再输入时就会自动提示相关字词;None:,只要控年的ID相同,不同的页面,可以共用一个列表(4) AutoPostBack当在控件中按 Enter 或 Tab

22、 键时,是否发生自动回传到服务器的操作。如果把该属性设置为 TRUE,则启用自动回传,否则为 FALSE。默认是 FALSE。例子说明(5) TextBoxDemo例子讲解;基础知识:l Javascript的Event 对象:作用:记录事件的状态,哪一个元素触发这个事件、哪一个键盘按键被敲了、鼠标的位置、哪一个鼠标按钮被按了;用法:事件通常与函数(事件句柄)结合使用,用为函数的参数。l 事件句柄:(Event Handlers)属性此事件发生在何时.onabort图像的加载被中断。onblur元素失去焦点。onchange域的内容被改变。onclick当用户点击某个对象时调用的事件句柄。on

23、dblclick当用户双击某个对象时调用的事件句柄。onerror在加载文档或图像时发生错误。onfocus元素获得焦点。onkeydown某个键盘按键被按下。onkeypress某个键盘按键被按下并松开。onkeyup某个键盘按键被松开。onload一张页面或一幅图像完成加载。onmousedown鼠标按钮被按下。onmousemove鼠标被移动。onmouseout鼠标从某元素移开。onmouseover鼠标移到某元素之上。onmouseup鼠标按键被松开。onreset重置按钮被点击。onresize窗口或框架被重新调整大小。onselect文本被选中。onsubmit确认按钮被点击。o

24、nunload用户退出页面。事件Event的属性鼠标 / 键盘属性属性描述altKey返回当事件被触发时,ALT 是否被按下。button返回当事件被触发时,哪个鼠标按钮被点击。clientX返回当事件被触发时,鼠标指针的水平坐标。clientY返回当事件被触发时,鼠标指针的垂直坐标。ctrlKey返回当事件被触发时,CTRL 键是否被按下。metaKey返回当事件被触发时,meta 键是否被按下。relatedTarget返回与事件的目标节点相关的节点。screenX返回当某个事件被触发时,鼠标指针的水平坐标。screenY返回当某个事件被触发时,鼠标指针的垂直坐标。shiftKey返回当事

25、件被触发时,SHIFT 键是否被按下。IE 属性除了上面的鼠标/事件属性,IE 浏览器还支持下面的属性:属性描述cancelBubble如果事件句柄想阻止事件传播到包容对象,必须把该属性设为 true。fromElement对于 mouseover 和 mouseout 事件,fromElement 引用移出鼠标的元素。keyCode对于 keypress 事件,该属性声明了被敲击的键生成的字符码。对于 keydown 和 keyup 事件,它指定了被敲击的键的虚拟键盘码。虚拟键盘码可能和使用的键盘的布局相关。offsetX,offsetY发生事件的地点在事件源元素的坐标系统中的 x 坐标和

26、y 坐标。returnValue如果设置了该属性,它的值比事件句柄的返回值优先级高。把这个属性设置为 fasle,可以取消发生事件的源元素的默认动作。srcElement对于生成事件的 Window 对象、Document 对象或 Element 对象的引用。toElement对于 mouseover 和 mouseout 事件,该属性引用移入鼠标的元素。x,y事件发生的位置的 x 坐标和 y 坐标,它们相对于用CSS动态定位的最内层包容元素。1、如何通过javascript检测当前敲键盘的哪一个键。编写一个Javascript函数,以event做为参数 function GetKey(e)

27、keynumb=e.keyCode; alert(keynumb); 在TextBox中加入一个事件句柄onkeydown=GetKey(event);练习:如何检测这个键是回车键盘。2、检测光标的坐标function show_coords(event)x=event.clientXy=event.clientYalert(X 坐标: + x + , Y 坐标: + y)3、检测Shift键盘是否被按了function isKeyPressed(event) if (event.shiftKey=1) alert(The shift key was pressed!) else alert(

28、The shift key was NOT pressed!) 4、检测当前的浏览器是否IE浏览器If(window.event)/返回为真,是IE浏览器If(e.which)/返回真,表示是Netscape/firefox5、如何通过一个javascript取得一个Html元件的引用 Var a=document.getElementById(string );string-元件的名称;例子(1)Hemlgoogle Yahoo!(2)var sitepoint_link = document.getElementById(google);sitepoint_link.href = http

29、://;sitepoint_link.childNodes0.nodeValue = 广西工学院;6、如何在服务端注册javascript脚本;TextBox1 .Attributes .Add (onkeydown,Next_TextBox_focus(event,TextBox2);7、解决方案(1)对每一个输入框编写一个事件句柄,取得键盘所敲的键,如果是回车,则使得下一个textBox取得焦点。(2)通过采用程序取得每一个控件Control FindControl ( string id)功能:在当前的命名容器中搜索带指定 id 参数的服务器控件(TextBox

30、)form1.FindControl(“TextBox”+i.ToString(); (3)修改客户端事件句柄Function TabNext(e,s1,s2)eevent;/事件s1-标识是否是最后一个输入框,如果为0 表示不是最后一个输入框,否则表示提交控件的ID;s2表示下一个取得聚焦的控件的ID;(4) 冒泡事件在 IE 的事件机制中,触发事件会从子元素向父元素逐级上传,就是说,如果子元素触发了单击事件,那么也会触发父元素的单击事件;通过event.cancelBubble=true;可以停止事件继续上传,Ie的事件传递是从下到上的:事件来源对象-上级对象-上上级对象-.-body-d

31、ocument-window五、 数据库1如何保留数据库连接串在配置文件中(1) 在Web.config文件的 (2)如何取出连接串引入:using System.Web.Configuration;String Conn = WebConfigurationManager.ConnectionStringsMyConn.ConnectionString;2如何取得Form中的数据项;(1)Html控件: 采用Page.(2)Web控件:七、Button 控件1、功能:对已经完成的表单提交到服务器,或执行特定的命令。2、类型:Button -命令按钮; LinkButton-超链接样式按钮 I

32、mageButton图形按钮3、用法: (1)Button :通过OnClick事件,提交Form的内容到服务器 注册名: 密码密码确认字段数据类型长度中文意思注释UserNameVarchar12注册名PKPassWVarchar12密码Not nullQuestVarchar50提出问题Not nullAnswerVarchar50回答问题Not nullEmailVarchar20Not nullDdatedatetime注册时间Not nullValdeflageint审核标识1已审核,0未审核if exists (select * from dbo.sysobjects where

33、id = object_id(Ndbo.User) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table dbo.UserGOCREATE TABLE dbo.User (UserName varchar (12) COLLATE Chinese_PRC_CI_AS NOT NULL ,PassW varchar (12) COLLATE Chinese_PRC_CI_AS NOT NULL ,Quest varchar (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,Answer varchar (50) C

34、OLLATE Chinese_PRC_CI_AS NOT NULL ,Email varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,Ddate datetime NOT NULL ,ValidFlage int NOT NULL ) ON PRIMARYGO提出问题回答问题 Email 确认 取消数据库的设计(2)OnClientClick-执行客户端的代码(3)CommandArgument,CommandName功能:CommandName-命令的名称,可以自行定义; CommandArgument-命令的参数, 存储了和按钮(Button)事件相关的数据,并且可以在事件处理中通过CommandEventArgs类的属性来访问这些数据,(4)postbackurl-将页面转到另一个ASP.NET的网页,接受网页通过previousPage对象来执

温馨提示

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

评论

0/150

提交评论