asp.net 基礎概述
07-13
ASP.net ASP.NET是一種用於創建基於Web的應用程序的編程模型。從本質上來說,運行時和.NET Framework類庫集可以用於創建動態Web頁。它需要在Web伺服器的環境中運行,例如Microsoft Internet Information Server(Microsoft互聯網信息伺服器,IIS),並且根據服務瀏覽器請求指示在伺服器上執行程序。與直接由Web伺服器提供的靜態HTML不同的是,ASP.NET頁面實際上是在伺服器上執行以後再產生結果的。頁面的最後生成也許是由許多不同的指令和/或數據源構造的。 ASP.NET頁面以.aspx擴展名存儲。頁面由程序員將文本、標記(例如HTML)以及ASP.NET特定伺服器標記和腳本組合在一起,然後存儲在Web伺服器上。可以將存儲後的ASP.NET頁面看成是一套描述如何創建一個HTML頁面的指令。當該頁面被請求瀏覽時,伺服器端程序將會用純標記來創建一個客戶端瀏覽器可以讀懂並能呈現(render)的頁面。因為呈現後的輸出是純標記,所以任何瀏覽器都能夠讀懂;所有的動態過程都發生在Web伺服器端。ASP.NET特定伺服器標記非常強大,例如,它可以對用戶的動作作出反應,連接至數據存儲以及自動創建非常複雜的HTML結構。 正像前面提到的那樣,ASP.NET只是.NET Framework的一部分,所以 ASP.NET頁面可以利用這個框架提供的所有服務,包括連網、數據訪問、安全以及更多其他服務。因為ASP.NET可以使用所有這些服務,所以相比以前,能夠創建更加豐富的Web應用程序。只需花少量的時間來構建所有應用程序所需的構建塊,而將大多數時間用在應用程序獨有的特殊邏輯上。 ASP.NET還在Web編程中引入了一些獨特的新技術,可以在典型的動態伺服器頁面(Active Server Pages,ASP)上極大地改善開發模式: · 語言獨立性——因為ASP.NET是.NET Framework的一部分,所以可以使用您自己選擇的語言來構建ASP.NET應用程序,例如C#、VB或J#。而典型的ASP則僅限於JScript或者VBScript頁面。 · 編譯而不是解釋——與典型的ASP在每一次頁面請求時都解釋編程結構不同,ASP.NET在伺服器端動態地將頁面編譯成可以運行得非常快的本機編程指令。可以很明顯地看到典型的ASP頁面的性能與相同ASP.NET頁面的性能之間相差的數量級別。 · 事件驅動編程模式——在典型的ASP中,頁面總是以自頂向下的線性方式執行,並且HTML標記常常與程序指令混合在一起。任何一個有一定ASP經驗的人都知道這樣會使得頁面難以閱讀,甚至更加難以維護。ASP.NET引入了事件驅動模型,這個模型允許您將代碼與標記內容分離,將代碼併入處理專門任務的有意義的單元中,例如響應客戶端的按鈕單擊動作。這個類似VB的事件模型極大地提高了頁面的可讀性和可維護性。 · 伺服器控制項——典型的ASP需要動態地將HTML片斷代碼接合在一起呈現,這樣做的結果就是在應用程序中一遍又一遍地編寫相同的代碼(您需要多少次才能從資料庫查詢中構建一張表格)。ASP.NET帶給Web編程的一個最大的好處就是能夠將公共的呈現和行為封裝成伺服器控制項(server control),可以在應用程序中很方便地重複使用。就像HTML標記一樣,伺服器控制項以聲明的形式創建,但是表現為一個位於伺服器端的可編程對象,它可以與代碼進行交互並輸出定製的動態HTML呈現。ASP.NET包含了大約80多個伺服器控制項,這些控制項封裝了從標準表單元素到複雜控制項(如網格和菜單)的所有內容。 · 控制項設計時間的改善(當使用Visual Web Developer時)—— 開發人員通過使用設計時間界面可以減少花費在開發複雜頁面上的時間,這些界面包括敏捷任務面板、標籤級導航欄和可以設置控制項屬性的嚮導。 ASP.NET 2.0 ASP.NET的第一個版本(1.0和1.1)在2001年至2003年間迅速風靡了Microsoft的開發陣營。程序人員很快便感覺到他們通過使用強大和靈活的.NET Framework可以大大減少編碼時間,而且CIO們也看到當程序員花在解決客戶代碼的疑難問題上的時間減少時,他們就可以將更多的資源投入到更高級的IT結構的改善上。ASP.NET確實是一個里程碑式的版本,它簡化了開發人員的工作。 但是,就在第一個版本發布之前,Microsoft的ASP.NET小組就已經在為開發ASP.NET 2.0而工作了。他們以下面雄心勃勃的目標來開始他們的工作: · 使創建一個典型的Web應用程序所需代碼行數減少70%。 · 提供一套可擴展的應用程序服務,用來為通用應用程序任務提供構建塊,例如成員、角色、個人化以及導航等。 · 創建一系列基於任務的伺服器控制項,這些控制項可以調節上述服務,交付完全、可定製的用戶介面(UI),以最小的代碼量來展示這些服務。 · 當與.NET Framework協同工作提供頁面服務時,改善IIS的性能。 · 提供管理功能,以便加強ASP.NET伺服器的部署、管理和運行。 · 改善宿主公司所用的工具,以便可以支持多站點並能夠將開發人員的項目遷移至公共部署環境。 · 讓ASP.NET的幾乎所有特性都能夠方便地擴展或者用定製的高級任務的執行替換。 在這裡,我們有必要再來細細地回想一下第一個目標,也就是使編寫一個動態Web應用程序所需的代碼量減少70%。這有可能嗎?Microsoft的ASP.NET小組已經仔細考慮過各種以定製代碼執行的通用任務,並且專門制定了將這些任務封裝進構建塊(特別是伺服器控制項)的方式,這樣就能夠自動地完成這些任務了。例如,大多數Web應用程序都需要安全或者導航或者個性化服務來為用戶提供定製的體驗。在ASP.NET 2.0中,這些任務是通過一系列可配置的應用程序服務,以及與這些應用程序服務進行對話的伺服器控制項來實現的,這樣可以極大地減少實施這些通用服務所需的應用程序的代碼量。但是,在所有這些通用任務當中,有一個任務是絕對獨立於其他應用程序的,這就是數據訪問服務。數據是驅動所有動態Web應用程序的公用線程,所以毫不奇怪,ASP.NET小組為了減少代碼量和在ASP.NET 2.0的應用程序中執行數據訪問所需的概念,而制訂了一些大膽的目標: · 在ASP.NET中可以通過聲明的(無代碼)方式來定義一個數據源。 · 可以通過聲明的(無代碼)方式用UI控制項顯示數據,無需在頁面的執行生存期中的特定時間進行顯式的數據綁定。 · 可以通過聲明的(無代碼)方式執行通用數據任務,例如排序、分頁、過濾、更新、插入以及刪除數據。 · 可以使用多種UI控制項來顯示數據,包括靈活的網格/詳細控制項,該控制項既可以顯示又可以操作數據。 · 為創建定製的數據源,啟用可擴展的模型來支持新的數據類型。 ASP.NET 2.0具有一些程序員可以使用的特定的伺服器控制項,用於在頁面上添加數據交互。這些專門的數據控制項分為兩組:數據源控制項和數據綁定控制項。數據源控制項創建與資料庫的鏈接。數據綁定控制項則從數據源控制項獲取信息,並在頁面上創建呈現。這種簡單的雙控制項模式可用於多種情況。對於多種資料庫類型,甚至是非關係型數據源,都有相應的數據源控制項。同樣地,有多種數據綁定控制項可用來在頁面上生成表格、樹型、列表以及其他數據格式。在前面我們已對ASP.NET進行了介紹,同時講述了ASP.NET的一些理論,現在開始介紹本書剩餘部分的細節內容:數據源控制項和數據綁定控制項的使用。數據源控制項以及附帶產品包括如下條目: · SqlDataSource控制項,用於與Microsoft SQL Server和其他資料庫進行連接 · AccessDataSource控制項,用於與MDB文件連接 · ObjectDataSource控制項,用於與中間層對象連接 · XMLDataSource控制項,用於XML文件或者數據流 · SiteMapDataSource控制項,用於以ASP.NET 2.0站點地圖格式存儲的XML文件額外的控制項已經由第三方開發。 在數據綁定控制項中,有很多與ASP.NET 1.x中的相似,有一些則是ASP.NET 2.0全新開發的: · ListBox、DropDownList和BulletedList、CheckBoxList、RadioButtonList · AdRotator是實現舊功能的數據綁定控制項 · DataList和Repeater以靈活的布局方式提供數據 · DataGrid(與ASP.NET 1.x中的相同)和GridView(第2個版本中的新控制項)用於表格數據 · DetailsView和FormView以輕鬆的導航提供記錄的信息 · TreeView用於顯示分級數據 總之,數據源控制項和數據綁定控制項將會是本書重點介紹的對象。 在.NET Framework 2.0公開beta版本發布之前,少數的幾個程序組就已經被允許查看工作代碼,並希望儘快獲得他們的反饋。結果,所有的反應只有一個,那就是熱烈,「太好了!」然後就是「什麼時候我才能用ASP.NET 2.0替換我的ASP.NET 1.x應用程序?」。現在beta發布版本已經在手邊,我們無需再等待了。
推薦閱讀:
推薦閱讀:
※換季不換櫥,學會這5款基礎穿搭,秋裝也能帥到沒朋友!
※Excel|公式基礎及基本要素構成
※八字基礎普及匯總二
※(10)五行取像基礎