国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ASP.NET立即上手教程(3)

2024-07-10 13:12:21
字體:
來源:轉載
供稿:網友

處理服務器控件事件

每一個asp.net服務器控件都具有對象模型的特點,包含屬性、方法和事件。asp.net開發者可以使用這個對象模型來動態修改頁面,以及與頁面交互。

下面的例子演示了asp.net頁面開發者如何通過處理<asp:button runat=server>控件的onclick事件,來操縱<asp:label runat=server> 控件的text 屬性。

這個簡單的例子在功能上等于前面介紹的"intro3" 例子。然而,你卻可以發現基于服務器控件的這個版本是多么的簡單而清晰!

使用自定義的服務器端控件

asp.net提供了45個內置的服務器控件以供使用 (詳細內容參閱 web forms 控件參考)。除了使用內置的asp.net 控件以外,開發者也可以使用第三方提供的控件。

下面的例子展示了一個簡單的日歷控件(calenda)。這個控件在頁面中使用<acme:calendar runat=server>標簽來聲明。請注意在頁面頂端的<% register %>使用tagprefix注冊"acme",使用namespace說明執行控件的名稱空間。asp.net頁面分析器將在運行時刻使用這個名稱空間來裝載calendar控間類的實例。

在這個例子中,日歷控件被設計為在internet explorer 5.5以上版本中執行“高級運行”,在其他瀏覽器上執行“低級運行”。在asp.net提供的內置服務器控件中,都可以實現這種對瀏覽器版本的監測。對于ie5.5以上版本,他生成dhtml輸出。dhtml輸出不要求服務器與客戶端的循環往復。對于其他版本的瀏覽器,這個控件生成標準的html3.2文檔。在交互的時候,需要客戶端和服務器端的循環往復。

重要提示:頁面設計者在編寫代碼的時候,不需要考慮瀏覽器在訪問頁面的時候,是“高級運行”還是“低級運行”。calendar 控件自己封裝了處理不同瀏覽器請求的能力。

列表、數據、和數據綁定

asp.net內置了一套數據表格和列表的控件,可以提供自定義的用戶接口驅動,來實現對數據庫或其它數據源的請求。例如,下面的例子演示了<asp:datagrid runat=server>控件如何使用sql數據庫查詢語言來實現對book信息集合的數據綁定。

<asp:datagrid runat=server> datagrid控件使用傳統的表格接口,提供了一種簡單而快速的顯示數據結果的途徑。此外,asp.net開發者也可以使用<asp:datalist runat=server> datalist控件以及自定義的itemtemplate模板來定制數據的顯示方式。

注意到<asp:datalist runat=server>控件允許最終用戶精確的控制列表中每一個項目的結構和外觀顯示(使用itemtemplate模板屬性)。該控件同時自動的處理兩列之間內容的換行(用戶可以通過它的repeatcolumns屬性來控制列的數目)

下面的例子提供了一種<asp:datalist runat=server>控件隔行交替顯示的樣子。

注意這里的控件、數據模型和頁面用戶都與前一個例子相同。差別在于,本例在代碼中聲明了其他的模板。

表單驗證控件
asp.net web forms 頁框架提供了一套服務器驗證控件,它容易使用而功能強大,用來檢查客戶端表單輸入的錯誤,并且(如果必要的話)可以向用戶顯示提示信息。
在頁面中增加服務器驗證控件就像使用其他服務器控件一樣。不同的驗證情況有不同的驗證控件,例如輸入范圍檢查或者模式匹配等等。使用requiredfieldvalidator驗證控件可以確保用戶不會跳過一個應該輸入數據的字段。
下面的例子演示了如何在頁面中使用<asp:requiredfieldvalidator runat=server> 控件來驗證textbox 和 dropdownlist 控件的內容。
c# intro11.aspx
[運行] | [源代碼]

注意驗證控件也提供了“高級運行”和“低級運行”支持。高版本瀏覽器模式在服務器端和客戶端執行(使用java腳本和dhtml),低板本瀏覽器模式僅僅在服務器端執行驗證。兩種情況下的程序模式是一樣的。

注意,asp.net頁面開發者可以在運行時可隨時檢查page.isvalid屬性,來確定是否該頁面的所有驗證控件都通過。這就提供了是否進行商務邏輯處理的一個簡單的方法。例如,下面的例子對特定分類執行數據庫查詢的時候,首先執行page.isvalid檢查。

web forms代碼分離

asp.net支持兩種創作動態頁面的方法。第一種是如前面的例子中演示的那樣,頁面代碼在同一個.aspx文件中聲明。另一個方法----人們熟知的代碼分離,可以讓頁面代碼更加整潔,把程序代碼從html內容中分離出來,成為一個完整的單獨的文件。

下面的例子演示了利用代碼分離技術編寫asp.net頁面

本章小結

1. asp.net提供了一種簡單而功能強大的方法,來建立動態web用戶接口

2. asp.net web forms 頁可以自動適應任何瀏覽器客戶(不需要腳本庫或者cookie的支持)

3. asp.net web forms 頁提供與現有asp頁面的語法兼容

4. asp.net 服務器控件提供了封裝常用功能的簡易方法。

5. asp.net 提供了45個內置的服務器控件.開發者也可以使用第三方提供的控件。

6. asp.net 服務器控件能夠自動設計高級動態模式和低級瀏覽器html模式

7. asp.net 模板可以輕松的定制列表服務器控件的外觀,從而定制頁面數據顯示的外觀。

8. asp.net 驗證控件可以方便的進行客戶端或服務器端數據的驗證

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鸡泽县| 湟中县| 阿克苏市| 凉城县| 周宁县| 文水县| 和田市| 车险| 瑞昌市| 温州市| 张家界市| 北安市| 高密市| 榕江县| 大港区| 威海市| 江达县| 封丘县| 临清市| 万安县| 平邑县| 闵行区| 阿鲁科尔沁旗| 皋兰县| 正镶白旗| 藁城市| 潼南县| 紫金县| 宁德市| 东乌珠穆沁旗| 东城区| 南充市| 张家界市| 济源市| 酒泉市| 临泽县| 富民县| 酉阳| 雅江县| 城市| 石首市|