服务器控件
要使用
Web
控件,只要在标记中加上
ASP:
,并指定
Web
控件的类别名称即可。
如:
<
ASP:Label
Id="Label1" Text="
这是一个
Label
类别的
Web
控件
"
Runat="Server" />
Label
控件
1.
<asp:Label
2.
id=
“
控件名称
"
3.
Text=
“
显示文本
"
4.
Font-Name=
“
宋体
”
5.
Font-Size=" 10.5pt "
6.
Width="200px
“
7.
BorderStyle="solid
“
8.
BorderColor="#cccccc"
9.
runat="server"/>
文本输入控件
TextBox
TextBox
主要用于单行或多行文本输入。
n
<
asp:TextBox
1.
id=
“
Text 1 ”
2.
TextMode=
“
singleline/Password/multiline
”
3.
Columns=
“
10
”
4.
rows=
“
5
”
5.
Text=
“
显示文本
”
6.
Width="200px
“
7.
runat="server"/>
8.
OnTextChanged=
“
输入发生变化时产生的事件
”
9.
</asp:TextBox>
控制和链接控件
n
普通按钮控件
Button
n
作用:接收使用者的
Click
事件,并执行相对应的事件处理程序。
n
<
asp:Button id=Button1 Text="
单击我
"
onclick="Button1_Click"
runat="server" />
链接按钮控件
LinkButton
n
功能和
Button Web
控件一样,只不过它是类似超级链接的文字接口,具有超级链接按钮外观,不能链接到另一个页面。
1.
<ASP:LinkButton
2.
Id="
控件名称
"
3.
Runat="Server"
4.
Text="
按钮上的文字
"
5.
Command="
命令名称
"
6.
CommandArgument="
命令参数
"
7.
OnClick="
事件程序名
"
8.
/>
提醒:
LinkButton
必须写在
<Form>
和
</Form>
之间,也要指定
OnClick
属性才会动作。
ImageButton Web
控件
n
ImageButton Web
控件的作用和上述两个控件一样,不过这个控件是用图片来当做按钮。
n
语法:
1.
<ASP:ImageButton
2.
Id="
控件名称
“
3.
ImageUrl=“
图形文件地址
”
4.
Runat="Server"
5.
CommandName="
命令名称
"
6.
CommandArgument="
命令参数
"
7.
OnClick="
事件程序名
"
8.
/>
超级链接控件
HyPerlink
n
用于在
Web
页面创建超级链接。优点是可以用服务器代码设置链接的属性。使用的方法很简单。
<asp: HyPerlink id=“
控件名称
”
NavigateUrl=“
链接的主页地址
”
Text=“
页面显示信息
”
ImageUrl=“
图形的源地址
”
Target=“
目标窗口
”
…
runat=“server”/>
选择控件
n
复选框控件CheckBox
n
复选框列表控件CheckBoxList
n
n
单选按钮控件RadioButton
n
单选按钮列表控件RadioButtonList
n
n
列表框控件ListBox
n
下拉列表框控件DropDownList
容器类控件
n
Panel
面板控件
n
Panel
控件往往作为一个容器控件来使用,通过设置
Panel
控件的属性来改变在其内部的一组控件的界面。
n
一个内容较多的表单往往要分多页显示,为了将所有的代码放在同一
aspx
文件中,可以将表单部分的代码分成几个组成部分,每个部分都由一个
Panel
控件控制它的显示或隐藏。
n
Table
表格控件
TableRow
行控件
TableCell
单元控件
n
表格控件
Table
包含:
n
表格行控件
TableRow
n
表格单元控件
TableCell
n
一个或多个
TableCell
控件构成一个
TableRow
控件。一个或多个
TableRow
控件构成一个
Table
控件
<
asp
:
Table id=”MyTable”
BacklmageUrl=”url”
背景图形地址
HorizontalAlign
=
”value 1”
Cellspacing=”cellspacing”
表格单元间的距离
CellPadding=”cellpadding”
表格边框距离
GridLines
=
”value 2”
….
runat
=
server
>
<
asp
:
TableRow
>
<
asp
:
TableCell
>
Cell text
</
asp
:
TableCell
>
</
asp
:
TableRow
>
<
/asp
:
Table
>
验证控件共有
5
个:
1.RequiredFieldValidator
必须字段验证控件
必须字段验证控件
,适用于要求用户必须输入数据的情况。
如果用户没有对这些控件输人信息,则会产生验证错误。
2.Compar.idator
比较验证控件
比较验证控件
,可用于对指定控件的值进行某种方式的比较(大于
.
小于
.
等于
.
不等于
.
大于等于
.
小于等于
.
不等于等)。
3.Rang.idator
范围验证控件
n
用于验证用户输人的值是否在指定的范围内。
4.Regular.Validator
正则表达式验证控件
用于验证用户输入的数据
(
电话号码、邮政编码、
E-mail
等
)
是否符合自定义的规则表达式(
Regular .
)。
5.ValidationSummary
验证总结控件
n
验证总结控件
,该控件本身并不提供任何验证,
用于收集以上所有末通过检验的控件的
ErrorMessage
属性的值,并显示在同一页面。
验证控件的
ControlToValidate
属性的作用
:用于指定要验证的控件
n
[
1ab24
]
{4}
:
表示必须输人一个由
4
个符号组成字符串,其中每个符号都必须是
“ 1”
、
“‘a”
、
“b”
、
“ 2”
或
“ 4”
中的
1
个。
n
[^0
-
9] {1}
:
表示输人一个非数字字符,其中的符号
“^”
为
“
反
”
操作符。
[A
-
Za-z]{2} l
[
0
-
9
]
{2} :
表示必须输人
2
个英文字母或
2
个数字,其中的
“l”
是
“
或
”
操作符。因而
“cD”
与
“ 35”
都是正确的,而
“D 4”
是错误的。
对于这样的表达式
“
[
a
]
{1} l[A] {1} ”
,它表示输人一个字符
“a”
或输人一个字符
“A”
,
可以简写成
“‘aIA”
。
[A-Za-z0-9_\-\.]{3,}
:表示必须输入一个由字母、数字、符号
“
_
”
、
“
-
”
以及
“.”
组成的长度为3以上的字符串。
DataGrid
控件
n
是一个功能强大的数据管理控件。它可以使用数据绑定技术,在数据初始化的时候绑定一个数据源。
n
以表格形式显示数据源数据和以列为单位,设定各列的操作类型。
DataGrid
中的
每一行表示数据源中的一个记录,每一列表示数据源中的一个字段(列)。
n
DataGrid
控件支持选择、编辑、删除、分页显示和排序等功能。
DataGrid
控件基本语法
<
asp DataGrid id=”
控件名称
”
Headerstyle-BackColor=”
标题栏背景颜色值。
Width=”
宽度值,可以使用像素值或百分比
”
OnEditCommand
=
”
单击编辑按钮时的事件名称
”
OnUpdateCommand
=
”
单击更新按钮时的事件名称
”
OnCancelCommand
=
”
单击取消按钮时的事件名称
”
OnDeleteCommand
=
”
单击删除按钮时的事件名称
”
OnltemCommnd
=
”
单击其他按钮时的事件名称
”
DataKeyField
=
”
关键字段,类似于数据库中的主键
”
AutOGenerateColumns
=
”True|False
,是否自动产生每一列
“
runat=”server”/>
属性
AutoGenerateColumns
设置
(
或返回
)DataGrid
控件是否可以自动产生列
(Columns)
,默认值是
“
True
”
,意味着
DataGrid
是可以自动产生列,
DataGrid
控件将数据源中的数据全部以原样显示出来。
也可以令
AutOGenerateColumns
=
”False”
,然后手工生成每一列。
将数据绑定到
DataGrid
控件的语法:
DataGrid
控件名称
.DataSource =
数据对象
DataGrid
控件名称
.DataBind()
定制列
n
如果
DataGrid
控件的
AutoGenerateColumns
属性值为
“False”,
那么程序可以自定义
DataGrid
控件的列
,
包括每一列的显示内容、顺序和样式等。
n
n
DataGrid
控件提供了列
(Column)
的五种类型
:
BoundColumn
列
n
BoundColumn
是基本的列类型,
DataGrid
自动产生的列类型
(AutoGenerateColumns
属性值为
“
True
”
)
便是
BoundColumn
。
n
BoundColumn
最主要的功能是利用
Label
来显示数据源中的一个字段内容,其使用语法如下所示:
HyperlinkColumn
列
HyperlinkColumn
最主要的功能是以超级链接来显示数据源中的一个字段内容,并可以指定使用者点击该项目时所要打开的
URL
地址。
Button
Column
列
Button
Column
列
的内容可以是利用
LinkButton
或
PushButton
来显示自定义的文字或者数据源中的一个字段内容,并且可以触发
DataGrid
控件的
OnItemCommand
事件,这样程序便可以对特定事件进行处理。
EditCommandColumn
列
EditCommandColumn
列拥有
3
个按钮,当
DataGrid
处于非编辑状态时,
该
列只显示编辑按钮,该按钮的标题由
EditText
属性值决定。当
DataGrid
处于编辑状态时,
该
列同时显示更新和放弃按钮,其标题分别由
UpdateText
和
CancelText
属性决定。
当使用者点击了编辑按钮时,
DataGrid Web
控件会自动触发
OnEditCommand
事件,并执行
OnEditCommand
属性所指定的事件程序;倘若点击了更新或者放弃按钮,也一样分别自动触发
OnUpdateCommand
以及
OnCancelCommand
事件。
TemplateColumn
列
控件和数据源进行连接
要将控件和数据源进行连接,最简单的方式就是直接把数据指定给控件的某个属性,或者是使用数据连接说明,可以让控件取得数据源的数据,只要在控件中需要数据源提供数据的地方插入'<%#数据源%>' 即可。
NET
数据提供程序(
Data Providers
)
Connection
用来连接到数据库
Command
用来对数据库执行
SQL
命令,如查询语句。
DataReader
用来从数据库返回只读数据。
DataAdapter
用来从数据库返回数据,并送到
Dataset
对象中,还要负责保证
Dataset
对象中的数据和数据库中的数据保持一致。
数据集(
DataSet
)
它可以看做是内存中的数据库。利用
DataAdapter
对象将数据库中的数据送到该对象中,然后就可以在其中对数据进行各种操作,最后再利用
DataAdaPter
对象将更新反映到数据库中。
ADO.NET
两种读取数据库的方式
§
利用
Connetction
、
Command
和
DataReader
对象,这种方式只能读取数据库,不能修改记录。如果只是想查询记录的话,这种方式的效率更高些。
§
§
利用
Connection
、
Command
、
DataAdaPter
和
Dataset
对象,这种方式更灵活,可以对数据库进行各种操作。
基于
OLE DB
的数据库的相关
名称空间
§
如果要使用基于
OLE DB
的数据库,需要在页面中导入相关的
名称空间
,语法如下:
<
%@
Import Namespace=“System.Data”
%
>
<%@
Import Namespace=“
System.Data.OleDb
”
%>
要使用
ADO
.
NET
,必须要先加载
System.Data
这个名称空间,因为
System
.
Data
这个名称空间中包括大部分组成
ADO
.
NET
架构的基础对象类别,例如
Dataset
对象、数据表、字段、关联等。
要使用
OleDB
数据操作组件
来存取数据,必须加载
System
.
Data
.
OleDB
这个名称空间。
OleDB
数据操作组件通过
OLE DB
和数据源联机,故
System
.
Data
.
OleDB
这个名称空间定义了
OIeDB
数据操作组件的对象类别,例如
OleDBConnection
对象、
OleDBCommand
对象、
OleDBDataAdapter
对象及
OleDBDataReader
对象。
建立
Connection
对象
Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("wwwlink.mdb"))
或
Dim conn As New OleDbConnection
conn.ConnectionString= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("wwwlink.mdb")
DataReader
对象
DataReader
对象一次只读取一条记录,只读,只进,所以效率很好而且可以降低网络负载。
下列程序代码片段返回可以读取
Members
数据表中所有的记录的
DataReader
对象:
dim conn as new OleDBConnection
dim cmd as new OleDBCommand
Dim dr As OleDbDataReader
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &server.mappath("Members.mdb")
conn.open()
cmd.connection=conn
cmd.commandtext=text1.value
cmd.commandtype=commandtype.tabledirect
cmd.ExecuteReader(dr) ’
执行结果到
dr
对象
DataSet (
数据集
)
对象
是
ADO.NET
的核心组件。
与
ADO
中的
RecordSet(
记录集
)
相似
,
数据集也是从数据源获取的数据在内存中的表示。区别
: RecordSet
像单个表
, DataSet
像包含一个或多个表的数据库。
与在数据库中的组织方式一样
,
数据集中的数据以记录的方式组织成表。
数据库由表和表之间的关系组成。数据集中的表用
DataTable
对象
表示
, DataTable
对象中包含很多其它对象的集合
,
如
TableRow
和
TableColumn
。
可以使用
DataSet
对象以离线的方式来操纵数据
,
这样可以节省系统资源
,
从而提高应用程序的伸缩性。
用户登录系统的设计与实现
登录界面
为了实现用户登录功能,通常在数据库中需要专门建立一个管理员表,用以记录网站用户的基本信息,数据表结构如表
7-1
所示。
根据系统功能需求,结合界面设计和数据库设计,确定主要事务流程如图
7-2
所示。
1.
用户输入信息的合法性检查
当用户点击了登录按钮后,将用户名和密码等信息从客户端提交到服务器端,服务器通常需要对用户输入的信息进行合法性检查,如是否为空,是否包含指定的特种信息等。
2.
用户身份的合法性检查
检查用户身份的方法通常是:检查数据库用户表中是否包含指定用户名和密码的用户;
3.
提示信息的处理
当用户输入错误或未查到用户时,一个性能良好的登录系统应给予恰当的提示,以便用户心中有数。
Code-Behind
技术
网站是构架在计算机网络基础之上的,具有一定客观功能的网络设备、网页等元素的集合体
(100 mod 5)
Trim
InstrRev