內容簡介
本書采用C#語言作為ASP.NET Web應用程序的開發語言,以Visual Studio為開發平臺,通過簡單實用的實例全面介紹使用ASP.NET進行Web程序開發的常用技術。本書第1~7章主要介紹ASP.NET的基礎知識、ASP.NET的內置對象、Web服務器控件、驗證控件、網頁布局技術、Web數據庫編程基礎等內容;第8~11章介紹網站設計中幾個常用的功能模塊,包括注冊登錄模塊、在線投票模塊、留言板模塊、文件上傳下載模塊等;第12章介紹一個綜合的ASP.NET應用開發案例。
本書可作為高等院校計算機相關專業的教材,也可供具有一定編程經驗又需要迅速熟悉ASP.NET的讀者參考,同時也適合自學ASP.NET的讀者閱讀。
前 言
一、關于ASP.NET
ASP.NET是微軟公司推出的Web開發平臺,是一種建立在公共語言運行庫(Common Language Runtime,CLR)上的編程框架,可用于在服務器上開發功能強大的Web應用程序。它是目前技術最先進、特征最豐富、功能最強大的Web開發平臺之一。ASP.NET自推出以來,具有開發效率高、使用簡單快捷、管理更簡單、全新的語言支持、安全性高等特點,是目前主流網絡編程技術之一。
ASP.NET中內置了很多控件,在其他Web開發技術(如JSP)中需要費盡心思才能完成的功能,在ASP.NET中只需要簡單地套用相應的內置控件即可完成。ASP.NET在數據庫連接方面做了很大的改進,新增的DataSource控件和GridView控件使得數據庫的操作更加簡捷方便。
二、本書結構
本書在第1版的基礎上,進行了如下改進:采用目前市場上較流行的開發工具版本,版本更高,提供的功能更多;增加了IIS(Internet Information Services,互聯網信息服務)的安裝過程,以及網站的發布與部署;增加了DIV+CSS布局基礎知識,使得頁面的設計更輕松、美觀;將第1版中第5章頁面結構與配置文件的內容分散到其他章節,并刪除了一些冗余的段落和文字;在第1章至第6章中,增加了多個實戰案例,便于在學習基礎知識的同時,掌握案例的設計與應用;在第7章中,增加了程序的調試過程,使讀者能更清晰地看到各個數據的變化過程;補全了第12章中其他所有功能的設計與實現,使之成為一個功能齊全的Web應用程序;修正了第1版中部分程序源碼的筆誤,確保程序的正確性和可行性。
本書內容由淺入深,首先介紹ASP.NET編程必須掌握的基本技術,并安排了對該章知識點綜合應用的實戰案例,非常適合初學者入門學習;然后介紹實際開發中常用的模塊,這部分內容適合初、中級讀者學習編程技術;最后通過一個綜合實例講解實際項目的開發過程,其目的是快速提高讀者的實戰編程能力。
各章的主要內容簡述如下。
第1章介紹網站發展歷史、.NET框架、Visual Studio開發環境、創建第一個ASP.NET程序、aspx文件和aspx.cs文件,以及發布和部署網站等內容。
第2章介紹ASP.NET語言基礎,包括C#語言基礎、XHTML標記語言、CSS簡介、DIV+CSS布局等內容。
第3章介紹ASP.NET內置對象,包括Page對象、Response對象、Request對象、Server對象、Application對象、Session對象和Cookie對象等內容。
第4章介紹Web服務器控件,包括基本控件、選擇控件、列表控件和高級控件等內容。
第5章介紹驗證控件的使用方法。
第6章介紹常用的網頁布局技術,包括ASP.NET用戶控件、母版頁和內容頁,以及導航控件等內容。
第7章介紹Web數據庫編程基礎,包括SQL語言,ADO.NET概述,Connection對象,Command對象,DataReader對象,DataAdapter對象,DataSet對象,插入、編輯、刪除數據,數據綁定,數據控件,配置文件Web.config,以及程序調試等內容。
第8章介紹開發Web應用程序常用的模塊--注冊登錄模塊,并詳細介紹驗證碼生成的過程。
第9章介紹開發Web應用程序常用的模塊--在線投票模塊,并詳細介紹XML文檔的使用,以及以圖片形式顯示結果的過程。
第10章介紹開發Web應用程序常用的模塊--留言板模塊,并詳細介紹留言板的制作過程,為后面論壇系統的制作奠定基礎。
第11章介紹開發Web應用程序常用的模塊--文件上傳下載模塊,并詳細介紹數據庫保存圖片數據的過程。
第12章介紹使用Visual Studio與SQL Server設計一個完整的實例--BBS論壇系統,詳細講解一個項目的開發過程,使讀者對Web應用程序的開發有一個較系統的理解。
三、本書特點
1. 循序漸進,通俗易懂
本書所講的內容避開了晦澀難懂的理論知識,但又覆蓋了使用ASP.NET技術進行Web編程所需要的各方面的基礎知識,并從基本操作開始,循序漸進地介紹了開發Web應用程序需要用到的基本技術。采用通俗易懂的語言,一步一步、手把手地教會您各種技術的使用,宛如現場專家言傳身教。
2. 項目驅動,案例教學
本書不采用傳統的"以概念解釋為主"的方式,而采用"以項目為驅動,實踐為主"的方式描述完成每一個任務的方法和步驟。每一個任務的提出,都伴隨著一個完整的實例,讀者通過完成此實例,就能掌握相關的基本概念和技術。
3. 步驟詳細,圖文并茂
本書在介紹ASP.NET的各項技術時,采用了項目實踐的方式,且在講解中步驟詳細,圖文并茂,讀者只需要根據步驟一步步操作,邊學邊練,就可以掌握相關的技能,并從中找到學習ASP.NET的樂趣。
4. 結構合理,符合軟件技術專業人才培養目標
作者在編寫此書時充分考慮了現代教育的特點,旨在培養具有較高水平、較高素質的技能型人才。本書結構合理,能讓讀者輕松上手,快速掌握相關內容,全面提高學、練、用的能力。
在結構上,本書先用少量篇幅介紹了ASP.NET技術的語言基礎,使讀者在學習ASP.NET技術之前對相關知識有所了解。
在介紹ASP.NET技術時,作者并不急于解釋相關概念,而是將這些技術融入一個個小案例中,使讀者在實踐中進行探索、分析和創新,從而掌握這些理論知識。同時介紹了目前網絡比較流行的幾個網站功能模塊,讀者只需要作少許的修改和擴展,便可應用于實際項目中。
通過對本書的閱讀,讀者應能達到如下能力目標。
(1) 對簡單網站進行設計、編輯、調試、運行的能力。
(2) 對ASP.NET各類控件的使用能力。
(3) 對網站數據庫進行管理和維護的能力。
(4) 應用所學知識開發三層架構應用程序的能力。
四、本書適用對象
本書可作為高等院校計算機相關專業的教材,也可供具有一定編程經驗又需要迅速熟悉ASP.NET的讀者參考,同時也適合自學ASP.NET的讀者閱讀。
本書由年輕而富有經驗的.NET軟件技術研究小組組織編寫,由魏菊霞任主編,李志中、謝云任副主編,相信本書能夠為讀者順利進入ASP.NET編程世界提供幫助。
本書的編寫得到了學院領導的大力支持,在此表示衷心的感謝。
盡管作者已經盡了各種努力來保證語言和代碼中不出現錯誤,但由于編寫時間倉促,水平有限,書中疏漏和不足之處在所難免,懇請各位讀者和專家批評指正,提出寶貴意見和建議。
編 者
目 錄
第1章 新手入門 11.1 網站發展歷史 11.1.1 靜態頁面和動態頁面 11.1.2 ASP.NET簡介 31.1.3 C/S模式和B/S模式 41.2 .NET框架 51.2.1 公共語言運行庫 51.2.2 .NET框架類庫 51.3 Visual Studio開發環境 61.3.1 Visual Studio的安裝 61.3.2 Visual Studio開發環境介紹 71.3.3 Visual Studio主界面介紹 111.4 創建第一個ASP.NET應用程序 121.5 aspx文件和aspx.cs文件 161.6 發布和部署網站 201.6.1 發布網站 201.6.2 IIS的安裝與配置 22小結 25習題 25第2章 ASP.NET語言基礎 272.1 C#語言基礎 272.1.1 數據類型 272.1.2 標識符 282.1.3 常量和變量 282.1.4 運算符和運算符表達式 292.1.5 流程控制語句 302.1.6 面向對象的知識 332.2 XHTML標記語言 382.2.1 XHTML的基本結構 382.2.2 頭標簽<head> 392.2.3 其他常用標簽 402.2.4 表格 412.3 CSS簡介 422.3.1 CSS 的三種樣式 432.3.2 CSS的基礎語法 432.4 DIV+CSS布局 452.4.1 拐角型頁面的設計 452.4.2 用戶登錄頁面的設計 482.5 實戰:猜數游戲 50小結 59習題 59第3章 ASP.NET內置對象 623.1 ASP.NET 內置對象概述 623.2 Page對象 623.2.1 IsPostBack屬性 633.2.2 Init事件 633.2.3 Load事件 633.2.4 ClientScript屬性 663.3 Response對象 673.3.1 輸出數據(Write方法) 683.3.2 地址重定向(Redirect方法) 683.3.3 停止輸出(End方法) 693.4 Request對象 713.4.1 從瀏覽器獲取數據 723.4.2 讀取客戶端的信息 753.5 Server對象 763.5.1 HtmlEncode方法和HtmlDecode方法 763.5.2 UrlEncode方法和UrlDecode方法 773.5.3 MapPath方法 793.6 Application對象 793.6.1 利用Application對象存取信息 803.6.2 鎖定Application對象 813.6.3 刪除Application中的信息 813.7 Session對象 813.8 Cookie對象 843.9 實戰1:統計網站在線人數 853.10 實戰2:用戶登錄 87小結 90習題 90第4章 Web服務器控件 924.1 HTML標記、HTML控件和Web控件 924.2 HTML控件概述 944.3 Web控件概述 964.4 基本控件 974.4.1 Button控件 974.4.2 Label控件 974.4.3 TextBox控件 974.5 選擇控件 1004.5.1 CheckBox控件和CheckBoxList控件 1004.5.2 RadioButton控件和RadioButtonList控件 1024.6 列表控件 1054.6.1 ListBox控件 1054.6.2 DropDownList控件 1084.7 高級控件 1104.7.1 Calendar控件 1104.7.2 AdRotator控件 1144.7.3 MultiView控件和View控件 1164.7.4 ScriptManager控件和UpdatePanel控件 1184.8 實戰:用戶注冊頁面 121小結 129習題 129第5章 驗證控件 1315.1 驗證控件概述 1315.2 RequiredFieldValidator控件的功能和使用 1325.3 CompareValidator控件的功能和使用 1345.4 RangeValidator控件的功能和使用 1365.5 RegularExpressionValidator控件的功能和使用 1385.6 CustomValidator控件的功能和使用 1405.7 ValidatorSummary控件的功能和使用 141小結 143習題 143第6章 網頁布局技術 1456.1 ASP.NET用戶控件 1456.2 母版頁和內容頁 1506.3 導航控件 154小結 157習題 157第7章 Web數據庫編程基礎 1597.1 SQL語言 1597.1.1 SQL數據查詢語句 1597.1.2 SQL數據操縱語句 1637.2 ADO.NET概述 1647.2.1 .NET數據提供程序 1647.2.2 ADO.NET數據庫應用程序的開發流程 1657.3 Connection對象 1657.3.1 創建Connection對象 1657.3.2 Connection對象的方法和事件 1667.4 Command對象 1677.4.1 創建Command對象 1677.4.2 Command對象的屬性和方法 1677.5 DataReader對象 1687.5.1 創建DataReader對象 1687.5.2 DataReader對象的屬性和方法 1687.6 DataAdapter對象和DataSet對象 1717.6.1 DataSet對象 1717.6.2 DataAdapter對象 1727.7 插入、編輯和刪除數據 1757.8 數據綁定 1827.9 數據控件 1847.9.1 SqlDatasource控件 1847.9.2 GridView控件 1907.9.3 DetailsView控件 1977.9.4 DataList控件 1997.9.5 Repeater控件 2047.10 配置文件Web.config 2067.11 程序調試 209小結 212習題 212第8章 注冊登錄模塊 2148.1 設計思想 2148.2 ASP.NET的圖像處理 2158.3 注冊登錄模塊的實現過程 2188.3.1 用戶登錄模塊設計 2188.3.2 用戶注冊模塊設計 2278.3.3 修改密碼模塊設計 231小結 234習題 234第9章 在線投票模塊 2369.1 XML文檔 2369.1.1 XML的特點 2369.1.2 XML文檔的基本結構 2389.1.3 創建XML文檔 2399.1.4 XML的應用 2399.2 在線投票模塊設計思想 2459.3 在線投票模塊的實現 2459.3.1 投票頁面的設計 2459.3.2 投票結果顯示頁面的設計 2489.3.3 以數據庫存儲投票結果 250小結 252習題 252第10章 留言板模塊 25410.1 留言板模塊設計思想 25410.2 數據庫設計 25510.3 留言板模塊的實現 25610.3.1 母版頁的設計 25610.3.2 index.aspx頁面的設計 25810.3.3 查看留言頁面的設計 26410.3.4 管理留言 269小結 277習題 277第11章 文件上傳下載模塊 27911.1 文件上傳下載的設計思想 27911.2 設計前的準備 28011.2.1 FileUpLoad服務器控件 28011.2.2 System.IO命名空間 28111.2.3 Response對象 28111.3 上傳文件至服務器 28211.4 從服務器下載文件 28511.5 上傳圖片至數據庫 28711.5.1 保存圖片路徑 28711.5.2 保存圖片數據 291小結 296習題 296第12章 BBS論壇系統 29812.1 設計思路 29812.2 設計前的準備 29912.2.1 引入第三方組件FreeTextBox 29912.2.2 多層架構設計 30212.3 數據庫設計 30312.4 設計實體(Model)層 30512.5 設計數據訪問(DAL)層 31112.5.1 SQLHelper類 31212.5.2 UserDAL類 31712.5.3 ModuleDAL類 32212.5.4 PostDAL類 32512.5.5 ReplayDAL類 32812.6 設計業務邏輯(BLL)層 33112.7 主要功能界面(Web UI層)的實現 33312.7.1 設計母版頁 33412.7.2 首頁Index.aspx的實現過程 33512.7.3 帖子管理的實現過程 33712.7.4 用戶管理的實現過程 35212.7.5 版塊管理的實現過程 361小結 365習題 365參考文獻 367