ASP讲座建立网站1.docx

上传人:b****8 文档编号:10591512 上传时间:2023-02-21 格式:DOCX 页数:26 大小:74.76KB
下载 相关 举报
ASP讲座建立网站1.docx_第1页
第1页 / 共26页
ASP讲座建立网站1.docx_第2页
第2页 / 共26页
ASP讲座建立网站1.docx_第3页
第3页 / 共26页
ASP讲座建立网站1.docx_第4页
第4页 / 共26页
ASP讲座建立网站1.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

ASP讲座建立网站1.docx

《ASP讲座建立网站1.docx》由会员分享,可在线阅读,更多相关《ASP讲座建立网站1.docx(26页珍藏版)》请在冰豆网上搜索。

ASP讲座建立网站1.docx

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();}

Single-FilePageModel

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控件的语法:

Id="被程序代码所控制的名称"

Runat="Server"

Align="Left|Center|Right"

BGColor="背景色"

BorderClolr="边框颜色"

CellPadding="像素"

CellSpacing="像素"

Hight="表格高度"

Rows="Row集合"

Width="表格宽度"

>

五、状态

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

           11adfasfa

      其中,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检测当前敲键盘的哪一个键。

编写一个

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1