服務器控件
要使用
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