ASP.NET網站製作

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

 }

總結:

1Request.QueryString:獲取http查詢字符串變量集合。有兩重載,即Request.QueryString[stringname]Request.QueryString[int index];

2Request.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);

  }

總結:

1Request.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數據源控件

數據源控件

說明

LinqDataSource

使用此控件,可以通過標記在 ASP.NET 網頁中使用語言集成查詢 (LINQ),從數據對象中檢索和修改數據。支持自動生成選擇、更新、插入和刪除命令。該控件還支持排序、篩選和分頁。

EntityDataSource

允許綁定到基於實體數據模型 (EDM) 的數據。支持自動生成更新、插入、刪除和選擇命令。該控件還支持排序、篩選和分頁。

ObjectDataSource

允許您使用業務對象或其他類,以及創建依賴中間層對象管理數據的 Web 應用程序。支持對其他數據源控件不可用的高級排序和分頁方案。

SqlDataSource

允許您使用 Microsoft SQL ServerOLE DBODBC  Oracle 數據庫。與 SQL Server 一起使用時支持高級緩存功能。當數據作爲 DataSet 對象返回時,此控件還支持排序、篩選和分頁。

AccessDataSource

允許您使用 Microsoft Access 數據庫。當數據作爲 DataSet 對象返回時,支持排序、篩選和分頁。

XmlDataSource

允許使用 XML 文件,特別適用於分層的 ASP.NET 服務器控件,如 TreeView  Menu 控件。支持使用 XPath 表達式來實現篩選功能,並允許您對數據應用 XSLT 轉換。XmlDataSource 允許您通過保存更改後的整個 XML 文檔來更新數據。

SiteMapDataSource

結合 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();


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章