服務器控件
要使用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=“Text1”
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 控件
nImageButton 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
容器類控件
nPanel面板控件
nPanel控件往往作爲一個容器控件來使用,通過設置Panel 控件的屬性來改變在其內部的一組控件的界面。
n一個內容較多的表單往往要分多頁顯示,爲了將所有的代碼放在同一aspx文件中,可以將表單部分的代碼分成幾個組成部分,每個部分都由一個Panel 控件控制它的顯示或隱藏。
nTable表格控件
TableRow行控件
TableCell單元控件
n表格控件Table包含:
n表格行控件TableRow
n表格單元控件TableCell
n一個或多個TableCell控件構成一個TableRow控件。一個或多個 TableRow控件構成一個 Table控件
<asp:Table id=”MyTable”
BacklmageUrl=”url” 背景圖形地址
HorizontalAlign=”value1”
Cellspacing=”cellspacing” 表格單元間的距離
CellPadding=”cellpadding” 表格邊框距離
GridLines=”value2”
….
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” 都是正確的,而“D4” 是錯誤的。
對於這樣的表達式“[a] {1} l[A] {1} ”,它表示輸人一個字符“a”或輸人一個字符“A”, 可以簡寫成“‘aIA”。
[A-Za-z0-9_\-\.]{3,}:表示必須輸入一個由字母、數字、符號“_”、“-”以及“.”組成的長度爲3以上的字符串。
DataGrid控件
n是一個功能強大的數據管理控件。它可以使用數據綁定技術,在數據初始化的時候綁定一個數據源。
n以表格形式顯示數據源數據和以列爲單位,設定各列的操作類型。 DataGrid中的每一行表示數據源中的一個記錄,每一列表示數據源中的一個字段(列)。
nDataGrid控件支持選擇、編輯、刪除、分頁顯示和排序等功能。
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列
nBoundColumn是基本的列類型,DataGrid自動產生的列類型(AutoGenerateColumns屬性值爲“True”)便是BoundColumn。
nBoundColumn 最主要的功能是利用Label 來顯示數據源中的一個字段內容,其使用語法如下所示:
HyperlinkColumn列
HyperlinkColumn 最主要的功能是以超級鏈接來顯示數據源中的一個字段內容,並可以指定使用者點擊該項目時所要打開的URL地址。
ButtonColumn列
ButtonColumn列的內容可以是利用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