[ 收藏 ] [ 简体中文 ]  
臺灣貨到付款、ATM、超商、信用卡PAYPAL付款,4-7個工作日送達,999元臺幣免運費   在線留言 商品價格為新臺幣 
首頁 電影 連續劇 音樂 圖書 女裝 男裝 童裝 內衣 百貨家居 包包 女鞋 男鞋 童鞋 計算機周邊

商品搜索

 类 别:
 关键字:
    

商品分类

  •  管理

     一般管理学
     市场/营销
     会计
     金融/投资
     经管音像
     电子商务
     创业企业与企业家
     生产与运作管理
     商务沟通
     战略管理
     商业史传
     MBA
     管理信息系统
     工具书
     外文原版/影印版
     管理类职称考试
     WTO
     英文原版书-管理
  •  投资理财

     证券/股票
     投资指南
     理财技巧
     女性理财
     期货
     基金
     黄金投资
     外汇
     彩票
     保险
     购房置业
     纳税
     英文原版书-投资理财
  •  经济

     经济学理论
     经济通俗读物
     中国经济
     国际经济
     各部门经济
     经济史
     财政税收
     区域经济
     统计 审计
     贸易政策
     保险
     经济数学
     各流派经济学说
     经济法
     工具书
     通货膨胀
     财税外贸保险类考试
     英文原版书-经济
  •  社会科学

     语言文字
     社会学
     文化人类学/人口学
     新闻传播出版
     社会科学总论
     图书馆学/档案学
     经典名家作品集
     教育
     英文原版书-社会科学
  •  哲学

     哲学知识读物
     中国古代哲学
     世界哲学
     哲学与人生
     周易
     哲学理论
     伦理学
     哲学史
     美学
     中国近现代哲学
     逻辑学
     儒家
     道家
     思维科学
     马克思主义哲学
     经典作品及研究
     科学哲学
     教育哲学
     语言哲学
     比较哲学
  •  宗教

  •  心理学

  •  古籍

  •  文化

  •  历史

     历史普及读物
     中国史
     世界史
     文物考古
     史家名著
     历史地理
     史料典籍
     历史随笔
     逸闻野史
     地方史志
     史学理论
     民族史
     专业史
     英文原版书-历史
     口述史
  •  传记

  •  文学

  •  艺术

     摄影
     绘画
     小人书/连环画
     书法/篆刻
     艺术设计
     影视/媒体艺术
     音乐
     艺术理论
     收藏/鉴赏
     建筑艺术
     工艺美术
     世界各国艺术概况
     民间艺术
     雕塑
     戏剧艺术/舞台艺术
     艺术舞蹈
     艺术类考试
     人体艺术
     英文原版书-艺术
  •  青春文学

  •  文学

     中国现当代随笔
     文集
     中国古诗词
     外国随笔
     文学理论
     纪实文学
     文学评论与鉴赏
     中国现当代诗歌
     外国诗歌
     名家作品
     民间文学
     戏剧
     中国古代随笔
     文学类考试
     英文原版书-文学
  •  法律

     小说
     世界名著
     作品集
     中国古典小说
     四大名著
     中国当代小说
     外国小说
     科幻小说
     侦探/悬疑/推理
     情感
     魔幻小说
     社会
     武侠
     惊悚/恐怖
     历史
     影视小说
     官场小说
     职场小说
     中国近现代小说
     财经
     军事
  •  童书

  •  成功/励志

  •  政治

  •  军事

  •  科普读物

  •  计算机/网络

     程序设计
     移动开发
     人工智能
     办公软件
     数据库
     操作系统/系统开发
     网络与数据通信
     CAD CAM CAE
     计算机理论
     行业软件及应用
     项目管理 IT人文
     计算机考试认证
     图形处理 图形图像多媒体
     信息安全
     硬件
     项目管理IT人文
     网络与数据通信
     软件工程
     家庭与办公室用书
  •  建筑

  •  医学

     中医
     内科学
     其他临床医学
     外科学
     药学
     医技学
     妇产科学
     临床医学理论
     护理学
     基础医学
     预防医学/卫生学
     儿科学
     医学/药学考试
     医院管理
     其他医学读物
     医学工具书
  •  自然科学

     数学
     生物科学
     物理学
     天文学
     地球科学
     力学
     科技史
     化学
     总论
     自然科学类考试
     英文原版书-自然科学
  •  工业技术

     环境科学
     电子通信
     机械/仪表工业
     汽车与交通运输
     电工技术
     轻工业/手工业
     化学工业
     能源与动力工程
     航空/航天
     水利工程
     金属学与金属工艺
     一般工业技术
     原子能技术
     安全科学
     冶金工业
     矿业工程
     工具书/标准
     石油/天然气工业
     原版书
     武器工业
     英文原版书-工业技
  •  农业/林业

  •  外语

  •  考试

  •  教材

  •  工具书

  •  中小学用书

  •  中小学教科书

  •  动漫/幽默

  •  烹饪/美食

  •  时尚/美妆

  •  旅游/地图

  •  家庭/家居

  •  亲子/家教

  •  两性关系

  •  育儿/早教

     保健/养生
     体育/运动
     手工/DIY
     休闲/爱好
     英文原版书
     港台图书
     研究生
     工学
     公共课
     经济管理
     理学
     农学
     文法类
     医学
  • ASP.NET實踐教程(第2版)
    該商品所屬分類:研究生 -> 工學
    【市場價】
    651-944
    【優惠價】
    407-590
    【作者】 魏菊霞 
    【所屬類別】 圖書  教材  研究生/本科/專科教材  工學 
    【出版社】清華大學出版社 
    【ISBN】9787302454236
    【折扣說明】一次購物滿999元台幣免運費+贈品
    一次購物滿2000元台幣95折+免運費+贈品
    一次購物滿3000元台幣92折+免運費+贈品
    一次購物滿4000元台幣88折+免運費+贈品
    【本期贈品】①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
    版本正版全新電子版PDF檔
    您已选择: 正版全新
    溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。
    *. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。
    *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。
    *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。
    內容介紹



    開本:16開
    紙張:膠版紙
    包裝:平裝-膠訂

    是否套裝:否
    國際標準書號ISBN:9787302454236
    作者:魏菊霞

    出版社:清華大學出版社
    出版時間:2017年01月 

        
        
    "
    編輯推薦

    本書特點
    1. 循序漸進,通俗易懂
    本書所講的內容避開了晦澀難懂的理論知識,但又覆蓋了使用ASP.NET技術進行Web編程所需要的各方面的基礎知識,並從基本操作開始,循序漸進地介紹了開發Web應用程序需要用到的基本技術。采用通俗易懂的語言,一步一步、手把手地教會您各種技術的使用,宛如現場專家言傳身教。
    2. 項目驅動,案例教學
    本書不采用傳統的"以概念解釋為主"的方式,而采用"以項目為驅動,實踐為主"的方式描述完成每一個任務的方法和步驟。每一個任務的提出,都伴隨著一個完整的實例,讀者通過完成此實例,就能掌握相關的基本概念和技術。
    3. 步驟詳細,圖文並茂
    本書在介紹ASP.NET的各項技術時,采用了項目實踐的方式,且在講解中步驟詳細,圖文並茂,讀者隻需要根據步驟一步步操作,邊學邊練,就可以掌握相關的技能,並從中找到學習ASP.NET的樂趣。
    4. 結構合理,符合軟件技術專業人纔培養目標
    作者在編寫此書時充分考慮了現代教育的特點,旨在培養具有較高水平、較高素質的技能型人纔。本書結構合理,能讓讀者輕松上手,快速掌握相關內容,全面提高學、練、用的能力。
    在結構上,本書先用少量篇幅介紹了ASP.NET技術的語言基礎,使讀者在學習ASP.NET技術之前對相關知識有所了解。
    在介紹ASP.NET技術時,作者並不急於解釋相關概念,而是將這些技術融入一個個小案例中,使讀者在實踐中進行探索、分析和創新,從而掌握這些理論知識。同時介紹了目前網絡比較流行的幾個網站功能模塊,讀者隻需要作少許的修改和擴展,便可應用於實際項目中。

     
    內容簡介

    本書采用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的讀者閱讀。

    目錄
    目 錄
    1.1 網站發展歷史 1
    1.1.1 靜態頁面和動態頁面 1
    1.1.2 ASP.NET簡介 3
    1.1.3 C/S模式和B/S模式 4
    1.2 .NET框架 5
    1.2.1 公共語言運行庫 5
    1.2.2 .NET框架類庫 5
    1.3 Visual Studio開發環境 6
    1.3.1 Visual Studio的安裝 6
    1.3.2 Visual Studio開發環境介紹 7
    1.3.3 Visual Studio主界面介紹 11
    1.4 創建第一個ASP.NET應用程序 12
    1.5 aspx文件和aspx.cs文件 16

    目    錄


    第1章  新手入門 1
    1.1  網站發展歷史 1
    1.1.1  靜態頁面和動態頁面 1
    1.1.2  ASP.NET簡介 3
    1.1.3  C/S模式和B/S模式 4
    1.2  .NET框架 5
    1.2.1  公共語言運行庫 5
    1.2.2  .NET框架類庫 5
    1.3  Visual Studio開發環境 6
    1.3.1  Visual Studio的安裝 6
    1.3.2  Visual Studio開發環境介紹 7
    1.3.3  Visual Studio主界面介紹 11
    1.4  創建第一個ASP.NET應用程序 12
    1.5  aspx文件和aspx.cs文件 16
    1.6  發布和部署網站 20
    1.6.1  發布網站 20
    1.6.2  IIS的安裝與配置 22
    小結 25
    習題 25
    第2章  ASP.NET語言基礎 27
    2.1  C#語言基礎 27
    2.1.1  數據類型 27
    2.1.2  標識符 28
    2.1.3  常量和變量 28
    2.1.4  運算符和運算符表達式 29
    2.1.5  流程控制語句 30
    2.1.6  面向對像的知識 33
    2.2  XHTML標記語言 38
    2.2.1  XHTML的基本結構 38
    2.2.2  頭標簽 39
    2.2.3  其他常用標簽 40
    2.2.4  表格 41
    2.3  CSS簡介 42
    2.3.1  CSS 的三種樣式 43
    2.3.2  CSS的基礎語法 43
    2.4  DIV CSS布局 45
    2.4.1  拐角型頁面的設計 45
    2.4.2  用戶登錄頁面的設計 48
    2.5  實戰:猜數遊戲 50
    小結 59
    習題 59
    第3章  ASP.NET內置對像 62
    3.1  ASP.NET 內置對像概述 62
    3.2  Page對像 62
    3.2.1  IsPostBack屬性 63
    3.2.2  Init事件 63
    3.2.3  Load事件 63
    3.2.4  ClientScript屬性 66
    3.3  Response對像 67
    3.3.1  輸出數據(Write方法) 68
    3.3.2  地址重定向(Redirect方法) 68
    3.3.3  停止輸出(End方法) 69
    3.4  Request對像 71
    3.4.1  從瀏覽器獲取數據 72
    3.4.2  讀取客戶端的信息 75
    3.5  Server對像 76
    3.5.1  HtmlEncode方法和HtmlDecode
    方法 76
    3.5.2  UrlEncode方法和UrlDecode
    方法 77
    3.5.3  MapPath方法 79
    3.6  Application對像 79
    3.6.1  利用Application對像存取
    信息 80
    3.6.2  鎖定Application對像 81
    3.6.3  刪除Application中的信息 81
    3.7  Session對像 81
    3.8  Cookie對像 84
    3.9  實戰1:統計網站在線人數 85
    3.10  實戰2:用戶登錄 87
    小結 90
    習題 90
    第4章  Web服務器控件 92
    4.1  HTML標記、HTML控件和
    Web控件 92
    4.2  HTML控件概述 94
    4.3  Web控件概述 96
    4.4  基本控件 97
    4.4.1  Button控件 97
    4.4.2  Label控件 97
    4.4.3  TextBox控件 97
    4.5  選擇控件 100
    4.5.1  CheckBox控件和CheckBoxList
    控件 100
    4.5.2  RadioButton控件和
    RadioButtonList控件 102
    4.6  列表控件 105
    4.6.1  ListBox控件 105
    4.6.2  DropDownList控件 108
    4.7  高級控件 110
    4.7.1  Calendar控件 110
    4.7.2  AdRotator控件 114
    4.7.3  MultiView控件和View
    控件 116
    4.7.4  ScriptManager控件和
    UpdatePanel控件 118
    4.8  實戰:用戶注冊頁面 121
    小結 129
    習題 129
    第5章  驗證控件 131
    5.1  驗證控件概述 131
    5.2  RequiredFieldValidator控件的功能
    和使用 132
    5.3  CompareValidator控件的功能
    和使用 134
    5.4  RangeValidator控件的功能
    和使用 136
    5.5  RegularExpressionValidator控件的
    功能和使用 138
    5.6  CustomValidator控件的功能
    和使用 140
    5.7  ValidatorSummary控件的功能
    和使用 141
    小結 143
    習題 143
    第6章  網頁布局技術 145
    6.1  ASP.NET用戶控件 145
    6.2  母版頁和內容頁 150
    6.3  導航控件 154
    小結 157
    習題 157
    第7章  Web數據庫編程基礎 159
    7.1  SQL語言 159
    7.1.1  SQL數據查詢語句 159
    7.1.2  SQL數據操縱語句 163
    7.2  ADO.NET概述 164
    7.2.1  .NET數據提供程序 164
    7.2.2  ADO.NET數據庫應用程序的
    開發流程 165
    7.3  Connection對像 165
    7.3.1  創建Connection對像 165
    7.3.2  Connection對像的方法
    和事件 166
    7.4  Command對像 167
    7.4.1  創建Command對像 167
    7.4.2  Command對像的屬性
    和方法 167
    7.5  DataReader對像 168
    7.5.1  創建DataReader對像 168
    7.5.2  DataReader對像的屬性
    和方法 168
    7.6  DataAdapter對像和DataSet對像 171
    7.6.1  DataSet對像 171
    7.6.2  DataAdapter對像 172
    7.7  插入、編輯和刪除數據 175
    7.8  數據綁定 182
    7.9  數據控件 184
    7.9.1  SqlDatasource控件 184
    7.9.2  GridView控件 190
    7.9.3  DetailsView控件 197
    7.9.4  DataList控件 199
    7.9.5  Repeater控件 204
    7.10  配置文件Web.config 206
    7.11  程序調試 209
    小結 212
    習題 212
    第8章  注冊登錄模塊 214
    8.1  設計思想 214
    8.2  ASP.NET的圖像處理 215
    8.3  注冊登錄模塊的實現過程 218
    8.3.1  用戶登錄模塊設計 218
    8.3.2  用戶注冊模塊設計 227
    8.3.3  修改密碼模塊設計 231
    小結 234
    習題 234
    第9章  在線投票模塊 236
    9.1  XML文檔 236
    9.1.1  XML的特點 236
    9.1.2  XML文檔的基本結構 238
    9.1.3  創建XML文檔 239
    9.1.4  XML的應用 239
    9.2  在線投票模塊設計思想 245
    9.3  在線投票模塊的實現 245
    9.3.1  投票頁面的設計 245
    9.3.2  投票結果顯示頁面的設計 248
    9.3.3  以數據庫存儲投票結果 250
    小結 252
    習題 252
    第10章  留言板模塊 254
    10.1  留言板模塊設計思想 254
    10.2  數據庫設計 255
    10.3  留言板模塊的實現 256
    10.3.1  母版頁的設計 256
    10.3.2  index.aspx頁面的設計 258
    10.3.3  查看留言頁面的設計 264
    10.3.4  管理留言 269
    小結 277
    習題 277
    第11章  文件上傳下載模塊 279
    11.1  文件上傳下載的設計思想 279
    11.2  設計前的準備 280
    11.2.1  FileUpLoad服務器控件 280
    11.2.2  System.IO命名空間 281
    11.2.3  Response對像 281
    11.3  上傳文件至服務器 282
    11.4  從服務器下載文件 285
    11.5  上傳圖片至數據庫 287
    11.5.1  保存圖片路徑 287
    11.5.2  保存圖片數據 291
    小結 296
    習題 296
    第12章  BBS論壇繫統 298
    12.1  設計思路 298
    12.2  設計前的準備 299
    12.2.1  引入第三方組件
     FreeTextBox 299
    12.2.2  多層架構設計 302
    12.3  數據庫設計 303
    12.4  設計實體(Model)層 305
    12.5  設計數據訪問(DAL)層 311
    12.5.1  SQLHelper類 312
    12.5.2  UserDAL類 317
    12.5.3  ModuleDAL類 322
    12.5.4  PostDAL類 325
    12.5.5  ReplayDAL類 328
    12.6  設計業務邏輯(BLL)層 331
    12.7  主要功能界面(Web UI層)的實現 333
    12.7.1  設計母版頁 334
    12.7.2  首頁Index.aspx的實現
      過程 335
    12.7.3  帖子管理的實現過程 337
    12.7.4  用戶管理的實現過程 352
    12.7.5  版塊管理的實現過程 361
    小結 365
    習題 365
    參考文獻 367

    前言
    前 言
    一、關於ASP.NET
    ASP.NET是微軟公司推出的Web開發平臺,是一種建立在公共語言運行庫(Common Language Runtime,CLR)上的編程框架,可用於在服務器上開發功能強大的Web應用程序。它是目前技術最先進、特征最豐富、功能最強大的Web開發平臺之一。ASP.NET自推出以來,具有開發效率高、使用簡單快捷、管理更簡單、全新的語言支持、安全性高等特點,是目前主流網絡編程技術之一。
    ASP.NET中內置了很多控件,在其他Web開發技術(如JSP)中需要費盡心思纔能完成的功能,在ASP.NET中隻需要簡單地套用相應的內置控件即可完成。ASP.NET在數據庫連接方面做了很大的改進,新增的DataSource控件和GridView控件使得數據庫的操作更加簡捷方便。
    二、本書結構

    前    言
    一、關於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編程世界提供幫助。
    本書的編寫得到了學院領導的大力支持,在此表示衷心的感謝。
    盡管作者已經盡了各種努力來保證語言和代碼中不出現錯誤,但由於編寫時間倉促,水平有限,書中疏漏和不足之處在所難免,懇請各位讀者和專家批評指正,提出寶貴意見和建議。


                    編  者  

    在線試讀
    第3章 ASP.NET內置對像
    本章將詳細介紹ASP.NET的常用內置對像,主要包括Page對像、Response對像、Request對像、Server對像、Application對像等。這些對像是用.NET框架中封裝好的類來實現的,在ASP.NET頁面初始化時,這些對像就已經自動創建了,故在程序中可以直接使用,不需要再實例化。這些內置對像為Web編程提供了豐富的功能,本章將重點介紹這些內置對像的主要用途和使用方法。
    本章學習目標:
    * 了解ASP.NET內置對像的種類。
    * 掌握各種內置對像的屬性和方法,以及在實際編程中的主要用途。
    3.1 ASP.NET 內置對像概述
    ASP.NET包括Page、Response、Request、Application、Server、Session、Cookies 等多個內置對像,每個對像都有自己的屬性、方法和事件。
    下面簡單介紹這些內置對像的功能,如表3-1所示。
    表3-1 ASP.NET的內置對像及其功能
    對 像 名
    功能說明
    Page對像
    用來設置與網頁有關的屬性、方法和事件
    Response對像
    用來向瀏覽器或客戶端輸出信息
    Request對像
    用來獲取從瀏覽器或客戶端返回的信息

    第3章  ASP.NET內置對像
    本章將詳細介紹ASP.NET的常用內置對像,主要包括Page對像、Response對像、Request對像、Server對像、Application對像等。這些對像是用.NET框架中封裝好的類來實現的,在ASP.NET頁面初始化時,這些對像就已經自動創建了,故在程序中可以直接使用,不需要再實例化。這些內置對像為Web編程提供了豐富的功能,本章將重點介紹這些內置對像的主要用途和使用方法。
    本章學習目標:
    * 了解ASP.NET內置對像的種類。
    * 掌握各種內置對像的屬性和方法,以及在實際編程中的主要用途。
    3.1  ASP.NET 內置對像概述
    ASP.NET包括Page、Response、Request、Application、Server、Session、Cookies 等多個內置對像,每個對像都有自己的屬性、方法和事件。
    下面簡單介紹這些內置對像的功能,如表3-1所示。
    表3-1  ASP.NET的內置對像及其功能
    對 像 名
    功能說明
    Page對像
    用來設置與網頁有關的屬性、方法和事件
    Response對像
    用來向瀏覽器或客戶端輸出信息
    Request對像
    用來獲取從瀏覽器或客戶端返回的信息
    Application對像
    用來共享多個用戶的全局信息
    Server對像
    用來提供服務器端的一些屬性和方法
    Session對像
    用來存儲某些特定用戶的共享信息
    Cookies對像
    用來設置或獲取Cookie信息

    3.2  Page 對 像
    Page對像是由System.Web.UI命名空間中的Page類來實現的,當瀏覽器訪問Web頁面時,Web頁面被編譯成Page對像,緩存在服務器內存中。Page對像用來設置與當前網頁有關的屬性、方法和事件。其常用的屬性、方法和事件如表3-2所示。
    表3-2  Page對像常用的屬性、方法和事件
    名  稱
    功能說明
    IsPostBack屬性
    獲取一個值,該值用來判斷該頁是否是第一次被加載
    IsVaid 屬性
    獲取一個值,該值用來判斷該頁是否通過驗證
    Validators屬性
    獲取請求的網頁所包含的全部驗證控件集合
    DataBind方法
    將數據源綁定到指定的服務器控件
    Dispose方法
    強制服務器控件在內存釋放之前執行清理操作
    FindControl方法
    在頁面上搜索指定的服務器控件
    Init事件
    設置頁面或控件的初始值
    Load事件
    網頁被加載時發生
    Unload事件
    關閉文件、釋放對像等時觸發

    3.2.1  IsPostBack屬性
    IsPostBack屬性經常用來判斷網頁是否是第一次訪問,當獲取的值為false時,表示當前頁是首次加載或訪問;當該值為true時則不是。從下面的【例3-1】中可以看出IsPostBack屬性的用途。
    3.2.2  Init事件
    Init事件用來設置頁面或控件的初始值,當ASP.NET頁面第一次被訪問時,將觸發Page對像的Init事件,對應的事件處理方法為Page_Init(),同一個頁面隻會被觸發一次Init事件。
    3.2.3  Load事件
    Load事件又稱加載或載入事件,當對像的相關數據裝載到內存中時觸發該事件。即當頁面被加載時,就會觸發Page對像的Load事件。Load事件也可用來設置頁面或者控件的初始值,它與Init事件的主要區別在於:每次加載該頁面時,都會觸發其Load事件,因此一個頁面的Load事件可能被觸發多次,而Init事件隻會在頁面第一次被訪問時觸發一次。
    下面通過一個實例來介紹Page對像的這些屬性和事件的用途。
    【例3-1】 設計一個下拉列表框(由DropDownList控件實現),下拉列表框中有一些可選的城市,當單擊【提交】按鈕時,將向下拉列表框中添加用戶輸入的城市。具體操作步驟如下。
    (1) 打開Visual Studio開發工具, 新建一個網站ch03,在解決方案資源管理器中,右擊站點文件,在彈出的快捷菜單中選擇【添加新項】命令,添加一個新的Web窗體,命名為eg03_1.aspx。
    (2) 打開【設計】窗口,在【表】菜單中選擇【插入表】命令,在【插入表格】對話框中設置行數、列數等參數,設置好參數後,單擊【確定】按鈕添加一個3行2列的表格,如圖3-1所示。


    圖3-1  設置插入表格參數
    (3) 選中表格的第一行,單擊鼠標右鍵,在彈出的快捷菜單中選擇【修改】|【格】命令,並輸入"輸入要添加的城市:",打開工具箱,在表格的第二行添加1個TextBox控件、1個Button按鈕,第三行添加1個DropDownList控件,各控件的id屬性為默認值,設計界面如圖3-2所示(本章節添加的所有控件的具體內容將在第4章中進行介紹)。


    圖3-2  設計界面
    (4) 雙擊eg3_1.aspx頁面的空白位置,打開eg3_1.aspx.cs文件,在Page對像的Load事件中添加的處理代碼如下。

    protected void Page_Load(object sender, EventArgs e)
    {
        //往下拉列表框中添加值
        DropDownList1.Items.Add("廣州");    
        DropDownList1.Items.Add("佛山");
        DropDownList1.Items.Add("深圳");
        DropDownList1.Items.Add("東莞");
    }

    這段代碼表示當頁面第一次被加載時,下拉列表框中將添加4個選項,分別是"廣州佛山深圳東莞"。
    (5) 切換到設計頁面eg3_1.aspx,雙擊【添加】按鈕,添加Click事件的處理代碼如下。


    protected void Button1_Click(object sender, EventArgs e)
    {
        //將輸入文本框的值添加到下拉列表框中
        DropDownList1.Items.Add(TextBox1.Text);
    }

    (6) 保存文件,運行程序,進入如圖3-3所示的界面。


    圖3-3  運行界面(1)
    (7) 在輸入文本框中輸入要添加的城市,如"湛江",單擊【添加】按鈕。查看下拉列表框中的選項,發現除了剛纔添加的城市"湛江"外,之前的4個選項又重復添加了一次,如圖3-4所示。


    圖3-4  運行界面(2)
    這是因為當Web頁面第一次執行時,觸發了Page對像的Load事件,給下拉列表框添加了4個選項,當單擊【提交】按鈕時,Page對像的Load事件被再次觸發,所以又重復地添加了這4個選項。
    解決這個問題的方法一:在Page對像的Load()事件中,用IsPostBack屬性來判斷Web頁面是否是第一次被加載,修改後的代碼如下。

    protected void Page_Load(object sender, EventArgs e)
    {
    if (!IsPostBack)
    {
        //往下拉列表框中添加值
        DropDownList1.Items.Add("廣州");
        DropDownList1.Items.Add("佛山");
        DropDownList1.Items.Add("深圳");
        DropDownList1.Items.Add("東莞");
     }
    }

    解決這個問題的方法二:將Load事件改為Init事件,問題也可以得到解決,因為Init事件對同一頁面在初始化時隻觸發一次,當單擊【添加】按鈕時,Init事件將不再被觸發。
    3.2.4  ClientScript屬性
    ClientScript屬性主要用來獲取ClientScriptManager對像,用於管理腳本、注冊腳本和將腳本添加到頁上。它包含兩個主要方法:RegisterStartupScript和RegisterClientScriptBlock。兩個方法的不同之處在於將其包含的腳本代碼寫入到HTML文件的位置不同,RegisterStartupScript注冊的腳本在標簽之前,而RegisterClientScriptBlock注冊的腳本在

    標簽之後,這兩個方法的輸入參數是完全一致的,需要注冊類型、注冊的鍵值、執行的JavaScript內容,以及是否自動生成");
            }
        }

    (4) 雙擊RegisterClientScriptBlock按鈕,為該控件添加Click事件,代碼如下。

    protected void Button2_Click(object sender, EventArgs e)
    {
            if (!Page.ClientScript.IsClientScriptBlockRegistered("myScript"))
            {
                Page.ClientScript.RegisterClientScriptBlock(this.GetType(),
                    "myScript", "alert('hello');", true);
            }
     }

    (5) 保存所有文件,運行程序,圖3-5和圖3-6分別為單擊RegisterStartupScript按鈕和RegisterClientScriptBlock按鈕的不同效果,從運行效果可得出,同樣都是執行腳本彈出對話框,單擊RegisterStartupScript按鈕時,當前頁面內容不變,而單擊RegisterClientScriptBlock按鈕時,當前頁面成為空白頁面。


    圖3-5  單擊RegisterStartupScript按鈕的效果


    圖3-6  單擊RegisterClientScriptBlock按鈕的效果
    3.3  Response對像
    Response對像由System.Web.HttpResponse類來實現,主要功能是向瀏覽器中輸出信息。Response對像常用的屬性和方法如表3-3所示。
    表3-3  Response對像常用的屬性和方法
    名  稱
    功能說明
    Buffer屬性
    獲取一個值,該值指示是否緩衝輸出,並在完成處理整個響應之後將其發送
    Charset 屬性
    獲取或設置輸出流的HTTP字符集
                      續表
    名  稱
    功能說明
    ContentType屬性
    獲取或設置輸出流的HTTP MIME類型
    Cookies 屬性
    獲取響應Cookie集合
    Write方法
    向瀏覽器輸出信息
    Redirect方法
    將客戶端重新定向到新的URL
    End方法
    將當前所有緩衝的輸出發送到客戶端,停止該頁的執行
    WriteFile方法
    向瀏覽器輸出文本文件

    3.3.1  輸出數據(Write方法)
    Response.Write()方法的功能是向瀏覽器輸出信息,最簡單的用法如下。

    Response.Write("歡迎來到ASP.NET編程世界!");

    此外,也可以在設計頁面的源碼文件XHTML中使用"< %   %>"標簽來向瀏覽器輸出信息,此時如果"<%"標簽後面緊跟Response.Write語句,則可以用"="代替之,示例代碼如下。

    <% Response.Write("歡迎來到ASP.NET編程世界!"); %>

    等價於:

    <% = "歡迎來到ASP.NET編程世界!"  %>

    運行結果如圖3-7所示。


    圖3-7  Response對像的運行界面
    3.3.2  地址重定向(Redirect方法)
    Response.Redirect()方法的功能是將一個網頁鏈接到另一個頁面,實現網頁地址的重定向,使得瀏覽器在顯示主頁後,自動定向到另一個網頁,示例代碼如下。

    Response.Redirect("Login.aspx");

    當程序被執行時,頁面重定向到當前目錄下的Login.aspx頁面。也可以轉向外部的網站,示例代碼如下。

    Response.Redirect("Http://www.sina.com.cn");

    當程序運行時,頁面顯示的是新浪網的首頁,不是當前頁。
    3.3.3  停止輸出(End方法)
    Response.End()方法的功能是用來輸出當前所有緩衝的內容,並停止該頁的執行。當ASP.NET文件執行時,如果遇到Response.End方法,該頁面將自動停止向瀏覽器輸出數據。示例代碼如下。

    Response.Write("歡迎來到ASP.NET學習世界!");
    Response.End();
    Response.Write("在這裡你將學到很多關於網絡程序設計的知識。");

    運行程序後,該頁面將隻輸出"歡迎來到ASP.NET學習世界!",後面的輸出數據將被終止。
    【例3-3】使用Response對像的設計步驟如下。
    (1) 運行Visual Studio開發環境,打開網站eg03,在解決方案資源管理器中右擊站點文件,在彈出的快捷菜單中選擇【添加新項】命令,添加一個新的Web窗體,並命名為eg3_3.aspx;
    (2) 打開頁面eg3_3.aspx,切換到設計頁面,添加一個4行2列的表格,分別合並表格的第一行和第四行格格中輸入文字,並添加控件,設計完成後的頁面如圖3-8所示。


    圖3-8  Response對像設計界面
    (3) 雙擊【頁面輸出】按鈕,打開該按鈕的Click事件,添加代碼如下。

    protected void Button1_Click(object sender, EventArgs e)
     {
          Response.Write(TextBox1.Text ",歡迎光臨!");
     }

    (4) 保存文件,運行程序,輸入數據,單擊【頁面輸出】按鈕後效果如圖3-9所示。


    圖3-9  頁面輸出運行效果
    (5) 雙擊【對話框彈出】按鈕,打開該按鈕的Click事件,添加代碼如下。

    protected void Button2_Click(object sender, EventArgs e)
    {
            //第一種彈出對話框的方式,缺點:背後頁面空白
            Response.Write("");
     }

    (6) 保存文件,運行程序,輸入數據,單擊【對話框輸出】按鈕後的效果如圖3-10所示。


    圖3-10  對話框輸出效果(1)
    (7) 從圖3-10的效果圖中可以看出,當彈出對話框時,網頁的內容即變成了空白(與3.2.4節中page對像的RegisterClientScriptBlock方法類似),這是因為頁面通過服務器傳輸後又重新刷新了。若要改變此現像,可采用page對像的ClientScript屬性添加客戶端腳本,改寫後【對話框彈出】按鈕的Click事件代碼如下。

    protected void Button2_Click(object sender, EventArgs e)
    {       
            //第二種彈出對話框的方式
            Page.ClientScript.RegisterStartupScript(this.GetType(), "myscript",  "");
    }

    (8) 保存文件,運行程序,輸入數據,單擊【對話框輸出】按鈕後的效果如圖3-11所示。


    圖3-11  對話框輸出效果(2)
    (9) 回到設計頁面,雙擊【下一頁】按鈕,打開該按鈕的Click事件,添加代碼如下。

    protected void Button3_Click(object sender, EventArgs e)
        {
            string uName = TextBox1.Text;
            string uPswd = TextBox2.Text;
            if (uName == "weix" && uPswd == "123") 
            {         
               Response.Redirect("eg3_3_1.aspx");
            }  
        }

    上段代碼中的判斷語句表示當用戶名輸入框和密碼輸入框中輸入的字符串分別為weix和123時,頁面將由當前頁跳轉至eg3_3_1.aspx頁面。注意,需在站點ch03中創建新頁面eg3_3_1.aspx。
    3.4  Request 對 像
    Request對像由System.Web.HttpRequest類來實現,封裝了來自客戶端的請求信息,可以利用該對像獲取客戶端的數據。Request對像常用的屬性和方法如表3-4所示。
    表3-4  Request對像常用的屬性和方法
    名  稱
    功能說明
    Browser屬性
    獲取客戶端瀏覽器的信息
    Form 屬性
    獲取表單數據集合
    QueryString屬性
    獲取HTTP字符串變量集合
    Cookies 屬性
    獲取客戶端發送的Cookie集合
    ServerVariables屬性
    獲取Web服務器變量的集合
    MapPath方法
    將指定的虛擬路徑映射為物理路徑
    SaveAs方法
    將HTTP請求保存到磁盤


    3.4.1  從瀏覽器獲取數據
    Request對像獲取表單數據的方式取決於表單數據返回服務器的方式。若表單數據傳送的方法為Get,那麼表單數據將以字符串的形式附加在網址後面返回服務器,此時需要用Request對像的QueryString屬性來獲取表單數據;若表單數據傳送的方法為Post,那麼表單數據將以放在HTTP標頭(Header)的形式返回服務器,此時用Request對像的Form屬性來獲取表單數據。
    使用Form屬性的語法如下所示。

    Request.Form["key"]

    下面將通過一個實例來說明Request對像獲取數據的用法。
    【例3-4】 在當前頁面通過Post方式傳送表單數據的設計步驟如下。
    (1) 在ch03站點中,添加一個新的Web頁面eg3_4.aspx,在當前頁面中添加1個Panel控件,ID設為Panel1,邊框顏色為紅色,邊框寬度為1px,Visible屬性的值設置為true,在Panel1控件中添加一個4行2列的表格,合並第一格,並在表格的第格中輸入文字"Request對像",添加2個TextBox控件、1個Button控件,分別設置其ID和Text屬性,這裡取默認值,設置後的效果如圖3-12所示。
    (2) 在Web頁面中,添加一個Panel控件,ID設置為Panel2,在Panel2控件中添加一個4行2列的表格,合並第一格,並在合並格中輸入文字"Request對像",效果如圖3-12所示,邊框顏色為藍色,邊框寬度為1px,設置屬性Visible的值為false,在Panel2中添加2個Label控件,ID為默認值,調整控件的位置,如圖3-12所示。


    圖3-12  Request對像的設計界面
    (3) 切換到HTML標記頁面,找到標記,添加Method屬性,值設為Post,示例代碼如下。



    (4) 雙擊【提交】按鈕,【提交】按鈕的Click事件處理代碼如下。

    protected void Button1_Click(object sender, EventArgs e)
    {
        Panel1.Visible = false;    
        Panel2.Visible = true;
        Label1.Text = Request.Form ["textBox1"];
        Label2.Text =Request.Form ["textBox2"];
    }

    (5) 將eg3_4.aspx頁面設為起始頁,運行結果如圖3-13所示。此時,因為面板Panel2的Visible值為false,所以Panel2控件是不可見的。輸入數據"張三"和123,單擊【提交】按鈕,運行結果如圖3-14所示,此時,在程序中,已經修改了面板Panel1的Visible值,故Panel1不可見,而面板Panel2的Visible值為true,顯示從Form表單傳遞過來的數據。


    圖3-13  Request對像運行界面(1)


    圖3-14  Request對像運行界面(2)
    如果在步驟(3)中,將Method屬性的值改為Get,則在程序中獲取數據的代碼如下所示。

    Label1.Text = Request.QueryString ["textBox1"];

    這兩種獲取數據的方式都可以采用如下所示省略的寫法。

    Label1.Text = Request["textBox1"];

    【例3-3】是在同一頁面中獲取Form表單的數據,事實上,不同的頁面也可以獲取來自瀏覽器的數據。這裡以3.3節中的【例3-3】為例,介紹不同頁面數據值的獲取,設計步驟如下。
    (1) 打開3.3小節中的eg3_3.aspx頁面,修改【下一頁】按鈕的Click事件,修改後的跳轉語句代碼如下。

    Response.Redirect("eg3_3_1.aspx?uname=" uName "&upswd=" uPswd );

    (2) 打開3.3小節中創建的eg3_3_1.aspx頁面,切換到【設計】窗口,在該頁面添加1個3行2列的表格,合並第一格,並在合並格中輸入文字"Request對像",然後添加2個Lable控件,ID為默認值,調整控件的位置,如圖3-15所示。


    圖3-15  Request對像測試
    (3) 打開eg3_3_1.aspx.cs文件,在Page_Load事件中添加如下代碼。

    protected void Page_Load(object sender, EventArgs e)
        {
            Label1.Text = Request["uname"];
            Label2.Text = Request["upswd"];
     }

    (4) 保存所有文件,設置eg3_3.aspx頁面為起始頁,運行程序,輸入數據,單擊【下一頁】按鈕,運行效果如圖3-16和圖3-17所示。


    圖3-16  Request對像運行界面(1)



    圖3-17  Request對像運行界面(2)
    注意,運行界面(2)中的網址部分,? 後面的參數uname和upswd的值通過Request對像傳給了控件Label1和Label2,並通過Label控件的Text屬性顯示在頁面上。
    3.4.2  讀取客戶端的信息
    利用Request對像還可以得到客戶端的一些信息,如客戶端瀏覽器的版本、客戶端IP地址等。
    【例3-5】 利用Request對像獲取客戶端瀏覽器信息的設計步驟如下。
    (1) 在站點ch03中,右擊解決方案資源管理器中的站點文件,在彈出的快捷菜單中選擇【新建項目】命令,添加新的Web頁面eg3_5.aspx,在Page對像的Load事件中添加的處理代碼如下所示。

    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Write("客戶端瀏覽器:" Request.UserAgent);
        Response.Write("
    客戶端地址:" Request.UserHostAddress);
    }

    (2) 將eg3_5.aspx頁面設為起始頁,運行程序後的結果如圖3-18所示。


    圖3-18  獲取客戶端瀏覽器信息的運行界面


    3.5  Server 對 像
    Server對像由System.Web.HttpServerUtility類來實現,包含處理服務器端數據的屬性和方法。Server對像提供的這些方法和屬性非常有用,通過它們可以得到服務器端的計算機名稱,可以對字符串進行編碼,可以在網頁間傳遞參數時處理一些特殊的字符等,為網絡編程帶來了極大的方便。Server對像常用的屬性和方法如表3-5所示。
    表3-5  Server對像常用的屬性和方法
    名  稱
    功能說明
    MachineName屬性
    返回服務器端的計算機名稱
    ScriptTimeout屬性
    獲取或設置請求超時的時間(以秒計)
    HtmlEncode方法
    對字符串進行Html編碼
    HtmlDecode方法
    對Html編碼的字符串進行解碼
    UrlEncode方法
    對字符串進行URL編碼
    UrlDecode方法
    對URL格式字符串進行解碼
    MapPath方法
    將虛擬路徑轉換為物理路徑
    Execute方法
    使用另一頁執行當前請求
    Transfer方法
    終止當前頁的執行,並開始執行新的請求頁
    3.5.1  HtmlEncode方法和HtmlDecode方法
    當字符串中含有HTML標簽時,瀏覽器會根據標記的作用來顯示內容,而標記本身不會被顯示。若需要在頁面上顯示這些標記字符串,但又不希望瀏覽器將其解釋為HTML標記時,就可以用Server對像的HtmlEncode方法將字符串中的HTML標記字符串轉換為字符實體,從而顯示在頁面中。
    【例3-6】 使用HtmlEncode方法和HtmlDecode方法的設計步驟如下。
    (1) 在網站ch03中,右擊解決方案資源管理器中的站點文件,在彈出的快捷菜單中選擇【新建項目】命令,新建網頁eg3_6.aspx,在Page對像的Load事件中添加如下處理代碼。

    protected void Page_Load(object sender, EventArgs e)
    {
        string str1, str2,str3;          //定義字符串變量
        str1 = "

    歡迎光臨

    ";     //包含有HTML標記的字符串變量str1
        str2 = Server.HtmlEncode(str1);   //對字符串編碼
        str3 = Server.HtmlDecode(str1);   //對字符串解碼
        Response.Write(str1);            //輸出原始字符串
        Response.Write(str2);          //輸出編碼後的字符串
        Response.Write(str3);          //輸出解碼後的字符串
    }

    (2) 將eg3_6.aspx頁面設為起始頁,運行程序後的結果如圖3-19所示,從結果中可以看出,str2字符串中的HTML標記被原樣輸出了。


    圖3-19  使用HtmlEncode方法和HtmlDecode方法的運行效果
    查看頁面的源文件,依次選擇【查看】∣【源文件】命令,彈出的窗口如圖3-20所示,Server對像的HtmlEncode方法已經把

    標記進行了轉換。


    圖3-20  HTML標記轉換結果
    同時可以發現,HtmlEncode方法和HtmlDecode方法是一對可逆的方法,一個進行編碼,另一個進行解碼,HtmlDecode的作用就是把字符串實體轉換為HTML標記字符。
    3.5.2  UrlEncode方法和UrlDecode方法
    Server對像的UrlEncode方法用來對字符串進行URL格式編碼。這是因為在網頁間傳遞參數時,會出現一些特殊的字符,如http://localhost:1047/eg3-4/Default.aspx?a=5 & b=7中,就有一個特殊字符&,在傳遞數據時,這個特殊字符會使接收數據端不能正確地得到數據,這時就需要對URL進行編碼。
    【例3-7】 使用UrlEncode方法和UrlDecode方法傳遞特殊字符的設計步驟如下。
    (1) 在網站ch03中,右擊解決方案資源管理器中的站點文件,在彈出的快捷菜單中選擇【新建項目】命令,新建eg3_7.aspx網頁,在網頁中添加2個Button按鈕,並改變按鈕的Text屬性,界面設計的效果如圖3-21所示。 


    圖3-21  UrlEncode方法和UrlDecode方法的設計頁面
    (2) 雙擊【使用UrlEncode方法】按鈕,添加按鈕的Click事件處理代碼如下。

    protected void Button1_Click(object sender, EventArgs e)
    {
       Response.Redirect("eg3_7_1.aspx?str=a" Server .UrlEncode ("&& b 的值"));
    }

    (3) 雙擊【使用UrlDecode方法】按鈕,添加按鈕的Click事件處理代碼如下。

    protected void Button2_Click(object sender, EventArgs e)
    {
        Response.Redirect("eg3_7_1.aspx?str=a" Server .UrlDecode ("&& b的值"));
    }

    代碼的意思很明確,希望通過Response對像的Redirect方法將頁面地址重新定向到eg3_7_1.aspx,且傳遞參數str的值"a&&b的值",因字符串中有特殊字符&&的存在,如果直接傳遞或使用UrlDecode方法,&&和之後的字符串將被忽略,使用UrlEncode方法進行URL編碼規則之後,該字符串"a&&b的值"將被正確傳遞。
    (4) 在解決方案資源管理器中,右擊站點文件,在彈出的快捷菜單中選擇【新建項目】命令,添加一個新的Web頁面eg3_7_1.aspx,雙擊該頁面打開邏輯代碼編輯頁,在Page對像的Load事件中添加代碼如下。

    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Write(Request["str"]);
    }

    上段代碼的作用是在eg3_7_1.aspx頁面中,通過Request對像的QueryString方法接收來自上一頁面傳遞過來的值,這裡是省略寫法。
    (5) 將eg3_7.aspx頁面設為起始頁,運行程序,單擊【使用UrlEncode方法】按鈕,結果如圖3-22所示。單擊【使用UrlDecode方法】按鈕,結果如圖3-23所示。


    圖3-22  使用UrlEncode方法


    圖3-23  使用UrlDecode方法
    從上面的運行結果可以發現,沒有編碼(UrlDecode 方法)的參數內容因為特殊符號&&沒有被完全傳遞,而經過編碼(UrlEncode 方法)後的參數內容則被正確傳遞且顯示在瀏覽器中。


    3.5.3  MapPath方法
    在頁面中,一般使用虛擬路徑,但是有時也需要使用頁面的物理路徑,例如,進行文件操作。雖然物理路徑可以在程序中直接寫出,但是這樣的方式不利於網站的移植。此時,使用Server對像的MapPath方法就可以將虛擬路徑轉換為物理路徑。
    【例3-8】 使用MapPath方法將虛擬路徑轉換為物理路徑的代碼如下。

    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Write("當前文件的物理路徑為:
    );
        Response.Write(Server.MapPath("eg3_8.aspx"));
    }

    運行結果如圖3-24所示,程序中的
    為HTML標記,表示換行。


    圖3-24  得到文件的物理路徑
    3.6  Application 對 像
    Application對像由System.Web.HttpApplicationState類來實現,它用於維護應用程序的狀態,和應用程序的生命周期有關。當用戶請求第一個ASP.NET頁面時開始創建該對像,當程序關閉或進程撤銷時結束該對像。
    此外,可以利用Application對像在不同的客戶端之間實現數據的共享。向Application對像中添加一個對像後,該對像可被同一個Web項目中的所有頁面存取,並且不同的客戶端可以共享此對像,即都可以對其進行讀取、修改或刪除。Application對像常用的屬性和方法如表3-6所示。
    表3-6  Application對像常用的屬性和方法
    名  稱
    功能說明
    Count屬性









     
    網友評論  我們期待著您對此商品發表評論
     
    相關商品
    在線留言 商品價格為新臺幣
    關於我們 送貨時間 安全付款 會員登入 加入會員 我的帳戶 網站聯盟
    DVD 連續劇 Copyright © 2024, Digital 了得網 Co., Ltd.
    返回頂部