1、ASP.NET頁面對象
1網頁腳本
當客戶端通過客戶瀏覽器發送HTTP請求時,web服務器將HTML文檔部分和腳本部分返回給客戶端瀏覽器,在客戶端瀏覽器中解釋執行並及時更新頁面,腳本處理工作全部在客戶端瀏覽器執行完成。
優點: 減輕服務器負荷,同時增加頁面的反應速度。
缺點:瀏覽器差異性導致頁面差異
支持的語言: JavaScriptJScript VBScript
(2)服務端腳本
當用戶通過瀏覽器發送HTTP請求時,Web服務器運行腳本,並將運行結果與Web頁面的HTML結合返回至客戶端瀏覽器,腳本處理工作全部在服務器端完成。
優點:減少瀏覽器帶來的運行結果差異,提高頁面的穩定性。
缺點:增加了服務器的負荷,同時客戶端反應速度慢。
支持的標準(規則):PHP、JSP、ASP、ASP.Net
2Page對象
在ASP中每個頁面都派生自Page類,並繼承這個類公開的所有方法和屬性。Page 類與擴展名爲 .aspx 的文件相關聯,這些文件在運行時被編譯爲 Page 對象,並被緩存在服務器內存中。
Page類常用的屬性:
IsPostBack,該屬性可以檢查.aspx頁是否爲傳遞迴服務器的頁面,常用於判斷頁面是否爲首次加載。
IsValid,該屬性用於判斷頁面中的所有輸入的內容是否應經通過驗證,它是一個布爾值的屬性。當需要使用服務器端驗證時,可以使用該屬性。
IsCrossPagePostBack,該屬性判斷頁面是否使用跨頁提交,它是一個布爾值的屬性。
3頁面傳值
一、Request.QueryString
核心代碼:
protected voidgetQueryString_Click(objectsender, EventArgs e)
{
stringQueStr = Request.QueryString["name"];
Response.Write(QueStr);
}
總結:
1、Request.QueryString:獲取http查詢字符串變量集合。有兩重載,即Request.QueryString[stringname]和Request.QueryString[int index];
2、Request.QueryString主要是獲取url中的“?”之後的參數,如url:a.aspx?name="queryString",則Request.QueryString["name"]的值爲“queryString”。
二、Request.Form
核心代碼:
protected voidgetQueryString_Click(objectsender, EventArgs e)
{
stringstrQueForm = Request.Form["TextBox1"];
Response.Write(strQueForm);
}
總結:
1、Request.Form 獲取窗體變量集合。有兩重載,即Request.Form[stringname]和Requst.Form[int index]。
2、獲取表單指定名字的參數值。
2、Request、Respone、Server對象
1.Request對象
2.Respone對象
3.Server對象
3、數據綁定技術
1數據綁定概述
asp.net 引入了新的聲明性數據綁定語法.這種非常靈活的語法允許開發人員不僅可以綁定到數據源,而且可以綁定到簡單屬性.集合.表達式甚至是從方法調用返回的結果.下表顯示了新語法的一些示例.
數據綁定概述與語法
簡單屬性 customer: <%# custid %>
集合 orders: <asp:listboxid="list1" datasource=´<%# myarray %>´runat="server">
表達式 contact: <%# ( customer.first name +" " + customer.lastname ) %>
方法結果 outstanding balance: <%#getbalance(custid) %>
儘管該語法看起來與 asp 的response.write 快捷方式 <%= %> 相似,但其行爲完全不同.asp response.write 快捷方式語法在處理頁時計算,而 asp.net 數據綁定語法僅在調用 databind 方法時計算.
databind 是頁與所有服務器控件的方法.當在父控件上調用 databind 時,它級聯到該控件的所有子控件.例如,datalist1.databind() 將因此對 datalist 模板中的每一控件調用 databind 方法.在頁上調用 databind — page.databind() 或只是 databind() — 會導致計算頁上的所有數據綁定表達式.通常從 page_load 事件調用 databind,
2數據源控件
數據源控件 | 說明 |
使用此控件,可以通過標記在 ASP.NET 網頁中使用語言集成查詢 (LINQ),從數據對象中檢索和修改數據。支持自動生成選擇、更新、插入和刪除命令。該控件還支持排序、篩選和分頁。 | |
允許綁定到基於實體數據模型 (EDM) 的數據。支持自動生成更新、插入、刪除和選擇命令。該控件還支持排序、篩選和分頁。 | |
允許您使用業務對象或其他類,以及創建依賴中間層對象管理數據的 Web 應用程序。支持對其他數據源控件不可用的高級排序和分頁方案。 | |
允許您使用 Microsoft SQL Server、OLE DB、ODBC 或 Oracle 數據庫。與 SQL Server 一起使用時支持高級緩存功能。當數據作爲 DataSet 對象返回時,此控件還支持排序、篩選和分頁。 | |
允許您使用 Microsoft Access 數據庫。當數據作爲 DataSet 對象返回時,支持排序、篩選和分頁。 | |
允許使用 XML 文件,特別適用於分層的 ASP.NET 服務器控件,如 TreeView 或 Menu 控件。支持使用 XPath 表達式來實現篩選功能,並允許您對數據應用 XSLT 轉換。XmlDataSource 允許您通過保存更改後的整個 XML 文檔來更新數據。 | |
結合 ASP.NET 站點導航使用。 |
SqlDataSource 控件
SqlDataSource 控件使用 SQL 命令來檢索和修改數據。SqlDataSource 控件可用於 Microsoft SQLServer、OLE DB、ODBC 和 Oracle 數據庫。
SqlDataSource 控件可將結果作爲 DataReader 或 DataSet 對象返回。當結果作爲 DataSet 返回時,該控件支持排序、篩選和緩存。使用 Microsoft SQLServer 時,該控件還有一個優點,那就是當數據庫發生更改時,SqlCacheDependency對象可使緩存結果無效。
3數據綁定控件
GridView控件
主要特點:支持刪、改,排序、分頁、外觀設置、自定義顯示數據
缺 點:影響程序性能、不支持插入操作
GridView控件也提供了用於編輯格式的模板功能,但是不支持數據的插入。
ListView控件
主要特點:提供了增、刪、改、排序、分頁等功能,還可以支持用戶自定義模板
缺 點:影響程序性能、大數據分頁效率低
ListView控件會按照編程者編寫的模板格式顯示數據。與DataList和Repeater控件相似,ListView控件也適用於任何具有重複結構的數據。
Repeater控件
主要優點:該控件是一個完全的開發性控件,可以自如的顯示用戶自定義的顯示方式
缺 點:不支持分頁、排序、編輯,僅提供重複模板內容
Repeater 控件是一個數據綁定容器控件,用於生成各個子項的列表,這些子項的顯示方式可以完全由編程者自己編寫。
DataList控件
主要優點:可以自定義格式顯示數據、比較靈活
缺 點:不支持分頁、編輯插入
該控件可以以自定義的格式顯示各種數據源的字段,其顯示數據的格式在創建的模板中定義,可以爲項、交替項、選定項和編輯項創建模板。DataList控件也可以使用標題、腳註和分隔符模板自定義整體外觀,還可以一行顯示多個數據行。雖然DataList控件擁有很大的靈活性,但其本身不支持數據分頁,編程者需要通過自己編寫方法完成分頁的功能。僅用於數據的顯示,不支持編輯、插入、刪除。
DetailsView控件
主要優點:以表格形式顯示單條數據、支持排序、插入、刪除、修改、分頁
缺 點:不支持排序
DetailsView控件以表格形式(table標籤)一次僅顯示數據源的單條記錄,並且table標籤下的每行(tr標籤)表示記錄中的一個字段。這個控件同樣支持數據的編輯、插入和刪除操作,並可以輕鬆地設置分頁功能,但是DetailsView控件本身不支持數據排序。
FormView控件
主要優點:顯示單條數據、分頁、增、刪、改,可自定義模板顯示
缺 點:不支持排序
從功能上看FormView控件與DetailsView控件很相似,,FormView控件僅可顯示數據源中的單條記錄。和DetailsView控件不同,DetailsView控件採用表格佈局(table標籤),記錄的每個字段都各自顯示爲一行。而FormView控件沒有用於顯示記錄的預置佈局,編程者需要自己創建子項模板,編寫各種用於顯示記錄中的字段的控件以及佈局用的其他HTML標籤。和DetailsView控件一樣,FormView控件可以輕鬆地啓用分頁功能。如果僅僅顯示單條記錄,FormView控件是比較推薦的方法,因爲可以在高效開發的同時自定義數據顯示的格式。
DropDownList控件
主要優點:多用於多級聯動
缺 點:儘可顯示一個字段
DropDownList控件一般多用於多級聯動,比如省市的聯動等,這裏主要講一下關鍵點,就是要爲DropDownList設置要顯示的字段和值顯示字段即:
綁定後結果如下:
到這裏已經把Asp.net常用的數據綁定控件的各自的優劣講析了一下,我們只有深刻的理解各個控件的特點,纔可以更好的在合適的情況下,採用合適的控件,更好的促進程序開發。當然,可能在實際的開發過程中,我們都不會用到這些控件,經過微軟的封裝之後產生太多的額外信息,增加了服務器的壓力。但是,還是把這些東西總結了出來,希望可以對大家有所幫助。也希望大家多多指點!
4Gridview
主要特點:支持刪、改,排序、分頁、外觀設置、自定義顯示數據
缺點:影響程序性能、不支持插入操作
這個控件可以以表格形式(table標籤)顯示、編輯和刪除多種不同的數據源(例如數據庫、XML文件以及集合等)中的數據。GridView控件功能非常強大,如果需要,編程者可以不用編寫任何代碼,通過VS 2008拖拽,並從屬性面板設置屬性即可,還可以完成如分頁、排序、外觀設置等功能。雖然功能非常齊全,但程序性能將受到影響,在頁面中最好不要過多地使用該控件。當然,如果需要自定義格式顯示各種數據,GridView控件也提供了用於編輯格式的模板功能,但是不支持數據的插入。
圖示:
5 DetailsView控件
主要優點:以表格形式顯示單條數據、支持排序、插入、刪除、修改、分頁
缺 點:不支持排序
DetailsView控件以表格形式(table標籤)一次僅顯示數據源的單條記錄,並且table標籤下的每行(tr標籤)表示記錄中的一個字段。這個控件同樣支持數據的編輯、插入和刪除操作,並可以輕鬆地設置分頁功能,但是DetailsView控件本身不支持數據排序。
6SQLDataSource用法
可以在後臺代碼充當數據源
SqlDataSourcesds = new SqlDataSource(“連接字符串”,“查詢語句”);
DataView dv =(DataView)sds.Select(new DataSourceSelectArguments());
GRIDVIEW1.DATASOURCE=DV;
GRIDVIEW1.DATABIND();