本書采用一種簡潔明快的敘述方法,深入淺出地介紹了VisualStudio的ASP.NET和VB.NET。書中主要講述VB.NET與ASP.NET的關系和Web編程的方法,重點介紹用VB.NET以及以特殊的方式使用ASP.NET框架,即使用后代碼模塊構建Web應用,其中用大量篇幅介紹了使用和開發(fā)WebForm的方法。內容涵蓋了開發(fā)新型動態(tài)、易維護的Web站點的入門知識和所有的編程技巧,它將Web應用編程提升到一個全新的高度。本書信息量大、實用性強。只要具有Web編程的基礎知識,或者閱讀過有關VB.NET的初級教程的讀者,讀懂書中的代碼將不成問題。本書適合于網絡軟件開發(fā)者閱讀,也是大專院校信息專業(yè)學生極好的參考讀物。前言在過去的20年里,各種軟件編程的重點在客戶機和服務器之間交替。從大型主機的批處理到單機應用、到客戶機/服務器方式、再到現在的因特網,這個領域的發(fā)展根據硬件、軟件和通信的模式來來回回地轉移焦點。從電傳機到終端,從大型機到微機,再到現代服務器;從臺式機到便攜機,再到手持設備;從物理層的直接連接到私有網絡,再到因特網。程序員在如何提高界面的友好性以及設計在用戶界面設備上處理數據的后端系統(tǒng)方面,花費了極大的精力。上個世紀80年代和90年代初,微型計算機的迅猛發(fā)展迫使開發(fā)商的注意力轉移到后者,這就是為什么現在的計算機用戶熱衷于高分辨率、真彩顯示、配有語音功能、處理器運算速度快、硬盤容量大、內存便宜以及功能強大、采用圖型界面和交互式的操作系統(tǒng)。微機的迅速發(fā)展導致了數據的分散,而過去人們一直是在自己的計算機上處理單獨的文件。有趣的是,數據的這種分散帶來了網絡能力的快速發(fā)展,因為企業(yè)需要工作人員能夠共享數據,同時,又需要對信息進行集中式安全控制。為了滿足這種需求,客戶機/服務器方式的計算機系統(tǒng)產生了,它具有友好的圖型用戶界面和快速處理能力。遺憾的是,客戶機/服務器方式的計算機正如最初設想一樣,帶來了許多的問題。龐大的客戶機程序很難進行部署、安裝、維護和升級。而企業(yè)所需要的是另一種不同的客戶機應用,既能夠從中央服務器中接收數據和應用代碼,又能使用戶和這些數據的交互就像在臺式機上的應用一樣方便。萬維網和瀏覽器技術的出現似乎是對該問題的一個解答。在過去的幾年里,我們看到了“瘦”客戶機的復活,具有代表性的是瀏覽器或小的可執(zhí)行程序,這些程序能夠根據需求從中央服務器中獲取數據,就像在計算機發(fā)展初期的大型機終端一樣。雖然這種新型瘦客戶機比大型機終端功能強大,但是仍然不能完全滿足大量的商務應用,比如MicrosoftOffice、Quicken和成千上萬的用戶自行設計的客戶機/服務器應用。然而,拋開這些不足,基于HTML的前端程序改變了整個世界。個人和企業(yè)對于與地域無關的信息的依賴日益增長,他們希望無論何時何地都能夠訪問任何服務器,而且,這種愿望正在實現。由于與位置無關,可以輕松地使用,因此,瀏覽器和其他遠程客戶機是無處不在的。遺憾的是,瀏覽器不能完全取代種類豐富的臺式機應用,很多人感覺似乎回到了幾十年前。在傳遞靜態(tài)數據,如報告、文檔和圖像時,瀏覽器很好用,但是進入客戶機/服務器系統(tǒng)、表單驅動、數據入口角色時還存在欠缺。在瀏覽Web頁面時,如果應用程序突然需要用戶輸入數據,往往會打斷那種平滑的、點擊頁面?zhèn)魉?。作者相?NET有能力改變這種狀況。使用.NET結構,能夠創(chuàng)建交互性更好、反映更靈敏的集中存儲的軟件;同時,.NET改善了這些工具并且簡化了創(chuàng)建胖客戶機的過程;最后,它連接了二者,通過使用集中存儲和管理數據可以很容易地創(chuàng)建胖和瘦兩種客戶機,在二者之間搭起一座橋梁,這意味著,用戶能夠使用自己所熟悉的圖形控件和操作方式,而且可以依據需求進行動態(tài)升級,從而集中管理應用程序。本書內容這是一本介紹性、探索性的書籍,而不是關于程序設計語言的詳細說明。Microsoft的.NET框架設計得相當完美,同時也非常龐大和復雜。在編寫本書的過程中,作者遇到的最大問題不是要涵蓋哪些內容,而是要省略哪些內容,這是一個非常嚴重的問題。作者希望涵蓋的內容太多,但是由于時間、篇幅以及在本書前面章節(jié)的編寫過程中,.NET框架和VisualStudio發(fā)生了戲劇性的變化,另外本人對.NET框架所了解的知識的局限性,都限制了許多內容。編寫本書的驅動力是.NET提供了一種設計Web應用的全新的模型和兩種新語言。作者認為,VB.NET是一種新語言,它與以前所有版本VB語言的惟一聯系就是采用相同的名稱和一些相同的語法,除此之外,都發(fā)生了變化。同時,Web本身并沒有改變,只是速度變快了。很多年以來,本書作者一直使用VB6的WebClasses來設計Web應用,或者在Web應用中使用傳統(tǒng)ASP的VB-built部件。如果讀者曾經做過這方面的工作,那么,水平就比一般VB程序員高,因為你對于Web的工作方式已經很了解。Microsoft在屏蔽Web如何工作方面做了巨大的努力而且相當成功。在本書中,作者運用了大量的筆墨來解釋ASP.NET應用是如何做到這一點的。在某些方面,ASP.NET和VB.NET很像普通的VB語言,只是VB更適于創(chuàng)建那些大小適中、效率不怎么高的Web程序。讀者看到了,使用.NET后,Web本身沒有多少改變,它依然是面向頁面的、無狀態(tài)的通信機制。在使用VB.NET設計Web應用時,很容易忽略這一點。對于使用.NET的Web程序員來說,最大的危險就是成功地把復雜性隱藏在龐大的程序模型后面,但是復雜性并沒有因此而消失,僅僅因為受到VisualStudio的過濾而被束縛,復雜性仍然隱藏在暗處,隨時伺機出來咬一口。幸運的是,.NET不僅簡化了以前復雜的工作,而且能夠打開隱藏復雜性的壁櫥,揪住它的耳朵,把它抓出來,使它曝光。在編寫本書的過程中,作者使用.NET已經近一年時間,完全相信了.NET和類似的系統(tǒng)相比在程序設計方面有了相當大的改善。雖然,在設計本書中項目時,讀者不是必須使用VisualStudio,但是如果沒有的話,會感到很不方便。雖然VisualStudio將大多數Web技術融入了一個界面中,協(xié)助并簡化了書寫HTML代碼和其他文件格式,要想成為一個完全的Web程序員,路還很長,建議讀者認真閱讀下面內容:VB.NET創(chuàng)建類結構、檢索和操縱數據、處理事件的語言;超文本標記語言(HTML)設計用戶界面的格式或布局語言。層疊樣式表(CSS)指明應用到頁面對象中的可見樣式的健壯的、可擴展的、層次方法。JavaScript/JScript/ECMAScript用于在客戶機瀏覽器中操縱頁面對象的程序設計語言。JScript是ECMAScript的Microsoft專用版本,JavaScript的名字最初是從Netscape中引進而來的。說明:不要混淆客戶機端的JScript和Microsoft的新JScript.NET語言。JScript和JScript.NET的關系就像VB和VB.NET的關系,語法相似但是語言不同。擴展標記語言(XML)通用標記語言,在VisualStudio和.NET中作為一種保存和操縱從數據庫中獲取的數據的方法得到廣泛使用,是指定應用配置信息的格式語言,是保持數據和對象的持續(xù)性的方法,是在組件之間或層之間傳遞消息、對象和數據的數據容器。擴展樣式表語言(XSL/XSLT)只可用來把XML文檔從一種狀態(tài)轉換到另一種狀態(tài)的XML語言。狀態(tài)可以從XML到XML,從XML到HTML,從XML到文本或者從XML到任何其他形式。XMLSchema(XSD)只可用來把XML文檔從一種狀態(tài)轉換到另一種狀態(tài)的XML語言。狀態(tài)可以從XML到XML,從XML到HTML,從XML到文本或者從XML到PDF文檔或其他任何形式。文檔對象模型(DOM)對文檔的樹形結構中創(chuàng)建的對象進行操縱的模型。文檔類型可以是XML或HTML。例如,使用.NET的XML的命名空間類來操縱存儲在XML文檔中的對象,使用JavaScript來操縱存儲在HTML頁面中的對象。動態(tài)HTML(DHTML)操縱在瀏覽器中創(chuàng)建的對象并響應由那些對象引發(fā)或由用戶初始化而產生的事件的技術。具有DHTML功能的瀏覽器像IE和Netscape,能夠指定位置、內容和顯示頁面中每一個對象的特征。換句話說,DHTML提供了另一種靜態(tài)HTML的顯示,使它如同一個單機Windows應用一樣反應迅速。在Microsoft以前的Web編程系統(tǒng)中,VB程序員(VB6的WebClasses和VisualInterDev的ASP)仍然需要?嘈碒TML源代碼。雖然這個版本的VisualStudio在廢除對HTML的掌握方面進行了勇敢的嘗試,但不是很成功,因此本書有一個簡短的HTML教程,讀者需要了解這方面的有關知識以便創(chuàng)建VB.NETWeb應用。本書適用于哪些讀者本書適用于至少熟悉VB.NET的初級Web程序員。要閱讀本書,不要求你是有經驗的VB程序員,但也不能是這個領域中的新手。由于沒有時間和篇幅來詳細解釋VB.NET本身,本書主要講述VB.NET與ASP.NET的關系和Web編程。如果讀者接受過VB.NET編程的培訓課程,參與過一些VB.NET項目,或者哪怕是閱讀過有關VB.NET初級教程等方面的書籍,那么,讀懂本書中的代碼將不成問題。如果沒有上述經歷,在閱讀本書之前,建議考慮先學習《VisualBasic.NET從入門到精通》一書,作者是EvangelosPetroutsos(Sybex,2002)。除了VB.NET外,讀者不必精通因特網、企業(yè)內部網、瀏覽器、HTML、JavaScript、VBScript、XML、XSLT、DOM或者其他任何知識。本書將是一本使用VB.NET和ASP.NET進行Web編程的最基本知識的介紹,另外本書對使用VB.NET創(chuàng)建健壯、靈活的Web應用時所用到的其他Web技術略微做了介紹。為什么要寫這本書之所以要編寫這樣一本書,是因為作者被程序設計的過程吸引了。本書作者曾經寫過兩本其他有關Web編程的書籍:一本是關于用VisualBasic6進行WebClass編程方面的《VisualBasicDevelopersGuidetoASPandIIS》(Sybex,1999),另一本是《M