ASP讲座建立网站1.docx
- 文档编号:10591512
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:26
- 大小:74.76KB
ASP讲座建立网站1.docx
《ASP讲座建立网站1.docx》由会员分享,可在线阅读,更多相关《ASP讲座建立网站1.docx(26页珍藏版)》请在冰豆网上搜索。
ASP讲座建立网站1
ASP.Net开发
一、演示如何开发创建第一个页面(按照书中的顺序进行)
1、启动MicrosoftVisualStudio2005
2、新建立网站
问题:
ASP.Net的每一个页面生成多少个文件,其扩展名是什么?
二、ASP.Net窗体页
1、扩展名:
aspx
2、文件类型:
文本文件
3、特点:
可以通过动态编译和执行,可以以网页的方式呈现给客户的浏览器。
4、运行流程
客户端申请一个扩展名为.aspx的资源时,ASP.Net运行库会对目标文件进行分析并将其编译,生成网页,传递给客户端。
5、网页解释:
(1)<%%>---表示一个内部嵌入另一种开发语言,有别于Html语言
(2)@Page------定义ASP.NET页解析器和编译器所使用的特定页面的属性,只可包括在.aspx文件中,每个ASPX页只能有一个@Page指令
@Page指令的语法如下:
<%@Pageattribute="value"[attribute="value"...]%>
(3)AutoEventWireup---指示页的事件是否自动绑定。
如果启用了事件自动绑定,则为true;否则为false。
默认值为true。
页有哪些事件:
Page_Init;Page_Load,当设定为true的时候,程序就会自动调用这些事件,否则就不会调用;
(4)CodeFile----页面的后台编码文件的文件名,此属性与Inherits属性一起使用可以将代码隐藏源文件与应用程序文件相关联。
(5)runat="server":
表示这个标记在服务器端运行
6、ASP.NET网页由两部分组成:
(1)可视元素,包括标记、服务器控件和静态文本。
(2)页的编程逻辑,包括事件处理程序和其他代码。
ASP.NET提供两个用于管理可视元素和代码的模型,即单文件页模型和代码隐藏页模型。
这两个模型功能相同,两种模型中可以使用相同的控件和代码。
单文件页模型
在单文件页模型中,页的标记及其编程代码位于同一个物理.aspx文件中。
编程代码位于script块中,该块包含runat="server"属性,此属性将其标记为ASP.NET应执行的代码。
<%@PageLanguage="C#"%>
voidButton1_Click(Objectsender,EventArgse)
{Label1.Text="Clickedat"+DateTime.Now.ToString();}
Labelid="Label1" runat="server"Text="Label">
Label>
Buttonid="Button1" runat="server" onclick="Button1_Click" Text="Button">
Button>
script块可以包含页所需的任意多的代码。
代码可以包含页中控件的事件处理程序(如该示例所示)、方法、属性及通常在类文件中使用的任何其他代码。
在运行时,单文件页被作为从Page类派生的类进行处理。
该页不包含显式类声明。
但编译器将生成将控件作为成员包含的新类。
(并不是所有的控件都作为页成员公开;有些控件是其他控件的子控件。
)页中的代码成了该类的一部分;例如,创建的事件处理程序将成为派生的Page类的成员。
代码隐藏页模型
通过代码隐藏页模型,可以在一个文件(.aspx文件)中保留标记,并在另一个文件中保留编程代码。
代码文件的名称会根据所使用的编程语言而有所变化。
网站路径
一、目的:
确定文件的路径
二、客户端指定路径的方式
(1)绝对URL路径:
(2)站点根目录相对路径 以站点的根目录为开始,对路径进行解析。 如何Images文件夹位于根目录下,则路径为: (3)当前页面路径 以当前页的路径为开始,对所需要的文件路径进行解析; 三、服务器路径 1、绝对路径: 与客户端一样。 2、相对路径: 与客户端一样。 四、路径的优缺点 1、绝对路径: 不能移植,如果出现移植,就会找不到相应的文件,则链接中断。 2、相对路径: 如果移动了文件夹,此原来链接的文件也会中断。 五、ASP.Net的解决方案 1、目录运算符~: 取得当前WEB应用程序的根目录;此运算符只能应用于ASP.Net的服务器中。 用法: 无论当前的页面在哪一个位置,如果需要根目录下Images/sample.jpg的文件,都可以采用如下解析方式: ~/Images/sample.jpg 2、如何取得当前网站的物理文件路径 属性 说明 PhysicalPath 网页的物理文件系统路径 PhysicalApplicationPath 正在执行的应用程序的根目录的物理文件系统路径 ApplicationPath 当前应用程序的根目录路径/WebSize FilePath 获取当前请求的虚拟路径,从WEB的根目录开始 服务器控件介绍 一、什么是服务器控件 1、能够在服务器端代码访问和操作的任何控件。 为使服务器控件能被服务器访问,每一个服务器控件都有一个: id属性------唯一标识这个控件; runat=”server”-----标识是服务器控件 2、服务器控的作用: (1)能够参与页的执行,并按照自己的标识呈现给客户端。 (2)可以通过编程方式设置其属性; (3)通过控件公开的事件,编程设置其行为;如按钮的双击事件; 二、ASP.Net2.0服务器控件的种类型 1、1、HTML服务器控件 标准的HTML标记,在静态网页中并没有办法利用程序直接来控制它们的属性、使用方法和接收事件;程序设计师必须另外学习其它如JavaScript等程序语言才得以控制这些HTML标记。 ASP.NET为动态网页程序设计带来了许多新的技术,这些技术其中之一就是将所有的HTML标记对象化,让程序可以直接控制;对象化之后的HTML标注我们称为HTML控件 (1)控件在System.Web.UI.HtmlControls名空间中 (2)标准在工具箱中的HTML下的控件是客户端的控件,服务器是无法使用的; (3)可以通过增加属性的方式使其转换成服务器控件runat=”server”; (4)如果想在代码中使用此控年,则还要分配一个id值给它。 (5)增加了服务器的能力: 增加了一个OnServerClick事件; (6)同时也可以使用原有的客户端的脚本能力; 2、例子1,服务端如何操作Html的事件,增加HTML控件的原有属性; 3、HTML控件常用属性 (1)InnerHtml属性和InnerText: 用于取得或设置开始标记和结束标记之间的文字内容;只是InnerHtml中可以设置Html标记; (2)Disabled属性: 称做禁能。 禁能就是将一个对象的功能关闭,让对象暂时无法执行工作。 所以如果将对象的Disabled属性设为True时,该对象会显示为灰色并且停止工作,Disabled属性设回False,该控件即可正常工作。 (3)Visible属性: Visible属性可以让一个对象的视觉元素消失,换句话说就是将对象隐藏起来让使用者看不到。 (4)Attributes属性: 有两个方法可以指定对象的属性,第一种是我们前面常用的对象.属性,而另外一种就是对象.Attributes("属性名称") (5)Style属性: 本属性可以用来设定控件的样式 4、基础HTML控件 HtmlAnchor控件 HtmlAnchor控件可以用来指定超级链接,其使用语法为: 5、HtmlTable、HtmlTableRow、HtmlTableCell控件 HtmlTable控件可以配合HtmlTableRow以及HtmlTableCell控件来动态的产生表格,其关系为: HtmlTable控件是由许多列(Row)所组成,而每一列中是由许多储存格(Cell)所组成。 所以HtmlTable控件中有Rows集合,HtmlTableRow控件中有Cells集合。 我们依秩序利用HtmlTableRow中Cells集合的Add方法,将HtmlTableCell控件串成一列(Row)后,再将这一列加到HtmlTable的Rows集合中,这样一来表格就大功告成了。 这些组成表格的控件都可以设定一些外观属性,我们先来看看HtmlTableCell控件的语法: Id="被程序代码所控制的名称" Runat="Server" Align="Left|Center|Right" BGColor="背景色" BorderClolr="边框颜色" ColSpan="跨栏数" Hight="表格高度" NoWarp="True|False" RowSpan="跨列数" Valign="垂直对齐方式" Width="表格宽度" >储存格内容
一般来说我们会利用程序来产生HtmlTableCell对象,设定好属性之后,我们再加入HtmlTableRow对象中的Cells集合中。
接下来我们来看看HtmlTableRow控件的语法:
Id="被程序代码所控制的名称"
Runat="Server"
Align="Left|Center|Right"
BGColor="背景色"
BorderClolr="边框颜色"
Hight="表格高度"
Cells="Cell集合"
Valign="垂直对齐方式"
>
利用程序来产生HtmlTableCell对象后,我们再加入HtmlTableRow对象中的Cells集合中。
等表格的一列定义好之后,再利用HtmlTable对象的Rows集合,将表格的列加入集合中。
我们来看看HtmlTable控件的语法:
五、状态
1、HTTP请求流程
(1)浏览器与服务器之间通信
1)建立一个连接,然后浏览器才能向服务器发送请求信息;
2)服务器在接受到请求信息后,返回相应的应答信息;
3)浏览器接收到来自服务器的应答信息后,对这些数据进行解释执行,呈现出来;
(比如我们访问一个页面,当该页面在浏览器中显示出来的时候,我们可以拔掉网线,此时该页面上的信息并不会丢失。
)
4)服务器释放连接;
HTTP请求消息
1次完整的http请求消息包括:
一个请求行、若干消息头以及实体内容,而消息头和实体内容可以没有,消息头和实体内容间有一个空行。
我们来看一个例子(为了便于说明,我在每行前加了序号):
1Get/mattmarg/HTTP/1.0
2User-Agent:
Mozilla/2.0(Macintosh;I;PPC)
3Accept:
text/html;*/*
4Cookie:
name=value
5Referer:
http:
//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响应消息的格式为:
一个状态行、若干消息头和实体内容,其中消息头和实体内容可以没有,消息头和实体内容间有一个空行。
我们依旧先来看一个例子:
01HTTP/1.1200OK
02Server:
Microsoft-IIS/5.1
03X-Powered-By:
ASP.NET
04Date:
Sun,06Jul200811:
01:
21GMT
05Content-Type:
text/html
06Accept-Ranges:
bytes
07Last-Modified:
Wed,02Jul200801:
01:
26GMT
08ETag:
"0f71527dfdbc81:
ade"
09Content-Length:
46
10
11
adfasfa其中,01行是状态行,用于显示服务器响应的状态,HTTP/1.1显示了对应的http协议版本,200为状态数字,OK为状态信息用于解释状态数字(这里OK对应200,表示请求正常);02~09是消息头部分,10为空行,11为实体内容(也就是服务器返回的网页内容)。
2、视图状态:
(1)介绍:
Web应用程序是无状态的。
每次从服务器请求网页时,都会创建网页类的一个新实例。
这通常意味着在每次往返过程中将会丢失所有与该页面及其控件关联的信息。
ASP.NET页框架包含几种状态管理功能,可以将往返过程之间的页和控件值保存到Web服务器,其中一种功能便是视图状态。
视图状态是ASP.NET页框架默认情况下用于保存往返过程之间的页和控件值的方法。
当呈现页的HTML形式时,需要在回发过程中保留的页的当前状态和值将被序列化为Base64编码的字符串,并保存到一个叫_VIEWATATE的隐藏字段中;下次回传到服务器时,通过Form再传到服务器。
采用一个例子说明视图状态。
ViewStateTest的例子。
(2)如何通过视图状态传数据:
适用于本页的服务器和客户端之间传递数据,见例子GetViewState;
(3)EnableViewState:
获取或设置一个值,该值指示服务器控件是否向发出请求的客户端保持自己的视图状态以及它所包含的任何子控件的视图状态
下列服务器控件不能禁止ViewState
Textbox
Checkbox
CheckboxList
RadioButtonList
(4)使用视图状态的优点
不需要任何服务器资源 视图状态包含在页代码内的结构中。
实现简单 视图状态无需使用任何自定义编程。
默认情况下对控件启用状态数据的维护。
增强的安全功能 视图状态中的值经过哈希计算和压缩,并且针对Unicode实现进行编码,其安全性要高于使用隐藏域。
使用视图状态的缺点
∙性能注意事项 由于视图状态存储在页本身,因此如果存储较大的值,用户显示页和发送页时的速度可能会减慢。
尤其是对移动设备,其带宽通常是有限的。
∙设备限制 移动设备可能没有足够的内存容量来存储大量的视图状态数据。
∙潜在的安全风险 视图状态存储在页上的一个或多个隐藏域中。
虽然视图状态以哈希格式存储数据,但它可以被篡改。
如果直接查看页输出源,可以看到隐藏域中的信息,这导致潜在的安全性问题。
有关更多信息
三、WEB服务器控件
1、种类:
(1)标准服务器控件,
(2)验证控件,(3)数据控件、(4)导航控件,(5)登录控件,(6)WEB部件
2、用法:
TextBoxID=”TextBox1”runat=”server”>
TextBox>
3、Web服务器控件的基数System.Web.UI.WebControls
4、服务器控件的共同属性
所有的Web控件共同都有的属性。
这些属性有:
AccessKey:
Attributes:
BackColor:
BorderWidth:
BorderStyle:
CSSClass
CSSStyle:
Enabled:
Font-Bold:
Font-Italic:
Font-Name:
Font-Names
Font-OverlineFont-SizeFont-Strikeout
Font-Underline
ForeColorHeight
TabIndex
ToolTipWidth
四、服务器控件介绍
1、Label控件
功能:
可以采用编程方式显示ASP.NET网页中文本的方法。
用法:
(1)静态文本可以采用HTML呈现它。
不需要Label,只有在服务代码中更改文本的内容时使用。
(2) LabelID=”Label2”,runat=”server”>
Label>
(3)可以根据不同的浏览器,显示不同的内容。
五、TextBox
功能:
能给用户输入(文本、数字和日期)的输入框;可以通
(1)过TextMode的属性设置的不同,有三种输入方式:
SingleLine:
PassWord;
MultiLine:
(2)创建多行文本
1)属性:
TextMode:
Multiline;
2)设置控年的Size:
Columns;
3)换行方式:
通过设置Wrap的属性自动换行,如果是True,自动换行。
(3)AutoCompleteType
功能:
可以记忆用户曾经输入过的文字,下次再输入时就会自动提示相关字词;
None:
,只要控年的ID相同,不同的页面,可以共用一个列表
(4)AutoPostBack
当在控件中按Enter或Tab键时,是否发生自动回传到服务器的操作。
如果把该属性设置为TRUE,则启用自动回传,否则为FALSE。
默认是FALSE。
例子说明
(5)TextBoxDemo例子讲解;
基础知识:
●Javascript的Event对象:
作用:
记录事件的状态,哪一个元素触发这个事件、哪一个键盘按键被敲了、鼠标的位置、哪一个鼠标按钮被按了;
用法:
事件通常与函数(事件句柄)结合使用,用为函数的参数。
●事件句柄:
(EventHandlers)
属性
此事件发生在何时...
onabort
图像的加载被中断。
onblur
元素失去焦点。
onchange
域的内容被改变。
onclick
当用户点击某个对象时调用的事件句柄。
ondblclick
当用户双击某个对象时调用的事件句柄。
onerror
在加载文档或图像时发生错误。
onfocus
元素获得焦点。
onkeydown
某个键盘按键被按下。
onkeypress
某个键盘按键被按下并松开。
onkeyup
某个键盘按键被松开。
onload
一张页面或一幅图像完成加载。
onmousedown
鼠标按钮被按下。
onmousemove
鼠标被移动。
onmouseout
鼠标从某元素移开。
onmouseover
鼠标移到某元素之上。
onmouseup
鼠标按键被松开。
onreset
重置按钮被点击。
onresize
窗口或框架被重新调整大小。
onselect
文本被选中。
onsubmit
确认按钮被点击。
onunload
用户退出页面。
事件Event的属性
鼠标/键盘属性
属性
描述
altKey
返回当事件被触发时,"ALT"是否被按下。
button
返回当事件被触发时,哪个鼠标按钮被点击。
clientX
返回当事件被触发时,鼠标指针的水平坐标。
clientY
返回当事件被触发时,鼠标指针的垂直坐标。
ctrlKey
返回当事件被触发时,"CTRL"键是否被按下。
metaKey
返回当事件被触发时,"meta"键是否被按下。
relatedTarget
返回与事件的目标节点相关的节点。
screenX
返回当某个事件被触发时,鼠标指针的水平坐标。
screenY
返回当某个事件被触发时,鼠标指针的垂直坐标。
shiftKey
返回当事件被触发时,"SHIFT"键是否被按下。
IE属性
除了上面的鼠标/事件属性,IE浏览器还支持下面的属性:
属性
描述
cancelBubble
如果事件句柄想阻止事件传播到包容对象,必须把该属性设为true。
fromElement
对于mouseover和mouseout事件,fromElement引用移出鼠标的元素。
keyCode
对于keypress事件,该属性声明了被敲击的键生成的字符码。
对于keydown和keyup事件,它指定了被敲击的键的虚拟键盘码。
虚拟键盘码可能和使用的键盘的布局相关。
offsetX,offsetY
发生事件的地点在事件源元素的坐标系统中的x坐标和y坐标。
returnValue
如果设置了该属性,它的值比事件句柄的返回值优先级高。
把这个属性设置为fasle,可以取消发生事件的源元素的默认动作。
srcElement
对于生成事件的Window对象、Document对象或Element对象的引用。
toElement
对于mouseover和mouseout事件,该属性引用移入鼠标的元素。
x,y
事件发生的位置的x坐标和y坐标,它们相对于用CSS动态定位的最内层包容元素。
1、如何通过javascript检测当前敲键盘的哪一个键。
编写一个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ASP 讲座 建立 网站