




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第1章ASP.NET概述本章講述的主要內容1.1Web基礎知識1.2VisualStudio集成開發環境1.3實訓設計一個簡單的課表查詢網站
1.1Web基礎知識1.1.1
B/S架構與ASP.NET1.1Web基礎知識1.1.2Web標準概述1999年W3C制定了HTML4.01標準,隨后公布了CSS2.1和JavaScript標準,這些標準統稱為Web1.0標準。
隨著W3C對HTML5、CSS3、JavaScript、Canvas、SVG以及移動設備開發規范等一系列新標準的發布,標識著以HTML5+CSS3為核心的Web2.0時代的到來。1.1Web基礎知識1.1.3靜態和動態網頁1.靜態網頁靜態網頁具有以下一些特征:①網頁的內容(文本、圖像、聲音、超鏈接等)和外觀對任何一個訪問者無論以何種方式訪問都是保持不變的。②網頁中不包含除了超鏈接跳轉以外的任何與客戶端進行交互的功能。2.動態網頁客戶端動態網頁:包含JavaScript、VBScript、ActiveX控件、jQuery、Ajax等,在客戶端與用戶實現交互。(2)服務器端動態網頁:服務器端動態網頁與客戶端動態網頁的主要不同在于所有的數據分析、判斷和其它處理工作都在服務器端進行,服務器只將處理好的結果以HTML代碼流的形式發送給客戶端。1.2VisualStudio集成開發環境VisualStudio(以下簡稱為VS)是Microsoft推出的用于Windows應用程序和Web應用程序開發的重要平臺,目前其最高版本為VS2015,內置.NETFramework版本為4.5.2,同時提供對.NETFramework2.0、3.0的支持。VS開發平臺將程序設計中需要的各個環節(界面設計、程序設計、運行和調試程序等)集成在同一個窗口中,極大地方便了開發人員的設計工作。通常將這種集多種功能于一身的開發平臺稱為集成開發環境(IDE)。1.2VisualStudio集成開發環境1.2.1VS項目管理1.VS中的常用模板VS中關于ASP.NET提供了“Web網站”(WebSite)和“Web應用程序”(WebApplication)項目兩種常用的模板。創建Web網站(2)創建Web應用程序項目1.2VisualStudio集成開發環境1.2.1VisualStudio項目管理2.Web網站與Web應用程序的區別(1)Web網站在這種方式下每個Web頁面一般由.aspx和.aspx.cs兩個文件來表示。前者主要用于表現頁面內容、布局等外觀屬性,后者存放了用于實現程序功能的源代碼。網站發布時系統會將.aspx.cs中的源代碼編譯成獨立的二進制.dll文件存放在名為bin的文件夾中。Web網站創建后所在文件夾中沒有.csproj項目文件,此時系統將整個目錄結構當成一個項目。1.2VisualStudio集成開發環境1.2.1VisualStudio項目管理2.Web網站與Web應用程序的區別(2)Web應用程序Web應用程序可以作為類庫被引用,非常適合于項目分模塊開發方式。通過創建Web應用程序的方式可以創建ASP.NETMVC。
在Web應用程序項目中,每一個Web頁面都由.aspx、.aspx.cs、aspx.design.cs三個文件來表示。其中.aspx.design.cs文件通常存放的是一些頁面控件中控件的配置信息,也就是控件注冊頁面。它是窗體設計器生成的代碼文件,作用是對窗體上的控件執行初始化工作,一般不需要程序員進行手工編輯。1.2VisualStudio集成開發環境1.2.2集成開發環境中的主要子窗口
工具箱Web窗體設計器代碼編輯窗口解決方案資源管理器屬性窗口輸出窗口1.2VisualStudio集成開發環境1.2.2ASP.NET常用文件和文件夾1.ASP.NET常用文件類型1.2VisualStudio集成開發環境1.2.2ASP.NET常用文件和文件夾2.ASP.NET常用文件夾1.2VisualStudio集成開發環境1.2.4創建ASP.NET網站的基本步驟1.創建一個ASP.NET網站①根據用戶需求進行問題分析,構思出合理的程序設計思路。②創建一個新的ASP.NET網站。③設計網站包含的所有Web頁面的外觀。④設置頁面中所有控件對象的初始屬性值⑤編寫用于響應系統事件或用戶事件的代碼。⑥試運行并調試程序,糾正存在的錯誤,調整程序界面,提高容錯能力和操作的便捷性,使程序更符合用戶的操作習慣,通常將這一過程稱為提高程序的“友好性”。參閱源代碼:ex1-11.2VisualStudio集成開發環境1.2.4創建ASP.NET網站的基本步驟2.保存和打開ASP.NET項目保存項目項目及文件重命名(3)打開網站和項目1.3實訓
創建一個簡單課表查詢網站1.3.1實訓目的
通過本實訓進一步理解創建ASP.NET網站應用程序的6個基本步驟。掌握VisualStudio集成開發環境各子窗口的使用方法,理解它們的作用。掌握在VisualStudio環境中設置和更改控件屬性的基本方法。1.3.2實訓要求
本例假設某學校現有3個班級,要求設計一個能在網絡中通過IE瀏覽器進行各學生班級課表查詢的ASP.NET網站。1.3.3實訓步驟參閱源代碼:train1第2章Web網站前端設計基礎本章講述的主要內容2.1HTML5標記語言2.2網頁的樣式控制2.3頁面布局2.4實訓頁面布局綜合練習2.1HTML5標記語言2014年W3C在HTML4的基礎上推出了HTML5的正式標準,并迅速獲得各大瀏覽器產品的支持(如,IE、Firefox、Chrome等)。HTML5目前已成為網頁設計的主流趨勢,那些不支持或不完全支持HTML5的瀏覽器產品正逐步被淘汰。需要說明的是Microsoft的IE瀏覽器從IE9開始部分支持HTML5,直到IE11才實現了對HTML5的完全支持,但IE11只能運行在Windows7以上版本的操作系統上,不支持早期的WindowsXP。運行本書示例時建議在Windows7以上環境中,使用IE11瀏覽器。2.1HTML5標記語言2.1.1HTML5的基本結構1.文檔結構2.1HTML5標記語言2.1.1HTML5的基本結構2.HTML5與早期版本的不同標記不區分大小寫(2)結束標記可以省略(3)boolean類屬性的設置(4)屬性引號允許省略2.1HTML5標記語言2.1.2在VS中設計網頁1.向ASP.NET網站中添加靜態網頁添加現有靜態網頁
添加→現有項→添加現有項→.html網頁(2)新建靜態網頁
添加→添加新項→選擇“HTML頁”模板2.1HTML5標記語言2.1.2在VS中設計網頁2..aspx文件和HTML文件VS2015中創建的Web窗體中各元素默認以HTML5規范描述,頁面中Web服務器控件以<asp>標記表示。
Web服務器控件與普通HTML元素相比最突出的不同點就是具有runat="server"的屬性,表示控件在服務器端運行。2.1HTML5標記語言2.1.2在VS中設計網頁3.VS提供的設計環境在VisualStudio中編輯、修改HTML或.aspx文件時,無論是編寫HTML標記代碼還是編寫JavaScript腳本代碼,都可以通過系統提供的智能提示功能快速完成編輯工作。2.1HTML5標記語言2.1.3HTML5的常用元素1.文本元素標記2.1HTML5標記語言2.1.3HTML5的常用元素2.層標記<div>層標記以<div>標記開始,以</div>標記結束。該標記用來定義頁面中的一個特殊區域,區域內可包含文字、圖片、表格或下級<div>等。使用<div>標記可方便的將若干頁面元素組成一個集合,進而統一設置該集合的顯示位置及所含元素的樣式。<div>是HTML5頁面布局中使用最多,也是最重要的標記之一。3.超鏈接標記<a>
<ahref=URL地址target=打開窗口方式>熱點文本</a>2.1HTML5標記語言2.1.3HTML5的常用元素4.列表標記
(1)無序列表標記<ul>
(2)有序列表標記<ol>(3)自定義列表標記<dl>2.1HTML5標記語言2.1.2HTML5常用標記5.表格標記表格標記中除了需要包含最基本的<tr>和<td>標記外,其它一些輔助標記見教材表2-22.1HTML5標記語言2.1.2HTML5常用標記6.圖像、音頻和視頻標記圖像標記<img>(2)音頻標記<audio>(3)視頻標記<video>2.2網頁的樣式控制
所謂樣式控制是指對頁面中各元素的外觀(字體大小、顏色、背景對齊方式等)進行設置的方法。
在HTML中如果頁面較為簡單,一般可使用各標記的style屬性來實現頁面樣式的控制。但對于結構復雜,內容豐富的頁面使用style屬性控制樣式勢必會造成許多重復工作量,頁面代碼也會顯得十分臃腫,此時可使用CSS對網頁樣式進行統一的控制。2.2網頁的樣式控制2.2.1標記的Style屬性
在HTML5中所有有關樣式的設置都可以由標記的style屬性來完成。
其一般格式為:
<標記style="參數1:值1;參數2:值2;……;參數n:值n">2.2網頁的樣式控制2.2.2CSS3的概念CSS(CascadingStyleSheets,級聯樣式表,也稱為層疊樣式表,簡稱為樣式表)是一種將頁面元素樣式設置集中化的方法。
引入CSS的主要目的就是為了實現將頁面結構與頁面外觀表現分離。CSS目前最高版本是CSS3,它較之前的版本有很大的改進。2.2網頁的樣式控制2.2.2CSS3的概念1.嵌入式CSS2.2網頁的樣式控制2.2.2CSS的概念2.外部鏈接式CSS所謂“外部鏈接式”樣式控制,是將樣式控制代碼單獨存放在一個以.css為擴展名的文本文件內,通過<link>標記引用其中對樣式的定義。2.2網頁的樣式控制2.2.2CSS的概念
樣式定義的優先級如果網頁中既有內聯式和嵌入式樣式定義,又有外部鏈接式樣式定義,而且這3種定義中還存在針對某特定元素的定義沖突。在這種情況下瀏覽器將采用“就近使用”的優先原則,即采用與該元素位置最近的樣式定義。顯然,內聯式樣式定義在任何情況下都最靠近元素位置,所以其優先級是最高的,也就是說內聯式樣式定義將覆蓋嵌入式和外部鏈接式樣式定義。而對于嵌入式和外部鏈接式樣式定義的優先級,要看<link>標記和<style>標記的書寫位置誰更靠近元素的位置。2.2網頁的樣式控制2.2.3CSS3常用選擇器1.類型選擇器“類型選擇器”也稱為“標記選擇器”或“標簽選擇器”,它是以網頁中現有標記為名稱的選擇器,用于統一設置某種標記的樣式。2.ID選擇器和類選擇器為了使相同的網頁元素具有不同的外觀設置,可以通過指定元素ID名稱并以該ID值為選擇器設置樣式。ID選擇器書寫時必須以“#”開頭。類選擇器通過類名稱指定一組樣式設置,網頁中的元素通過引用該類來應用這些樣式設置。類選擇器書寫時必須以“.”開頭。2.2網頁的樣式控制2.2.3CSS3常用選擇器3.包含選擇器和組群選擇器包含選擇器用于設置某元素下面子元素的樣式。例如,下列代碼使用包含選擇器設置了<div>標記下所有<a>子標記的字號為36px,字體為黑體。<styletype="text/css">diva{font-size:36px;font-family:黑體}</style>群組選擇器可以對若干個不同元素進行統一的樣式設置。2.2網頁的樣式控制2.2.3CSS3常用選擇器4.屬性選擇器2.2網頁的樣式控制2.2.3CSS3常用選擇器5.偽類選擇器選擇器:偽類名{屬性:值}2.2網頁的樣式控制2.2.4CSS3的盒模型1.盒模型的概念2.2網頁的樣式控制2.2.4CSS3的盒模型2.內外邊距和盒大小外邊距(margin)(2)內邊距(padding)(3)盒大小(box-sizing)3.盒區域顯示特效border-radius屬性(圓角)(2)border-image屬性(圖像邊框)(3)box-shadow屬性(陰影效果)2.2網頁的樣式控制2.2.5向網站中添加樣式表在解決方案資源管理器中將該樣式表文件(.css)拖動到頁面源視圖的<head>標記和</head>標記之間,也可以將樣式表拖動到頁面設計視圖窗口。
拖動操作完成后,系統將自動在<head>標記和</head>標記之間添如下所示的代碼:
<linkhref="xxxx.css"rel="stylesheet"type="text/css"/>2.3頁面布局2.3.1使用表格布局頁面目前雖然CSS+DIV布局技術占據了主導地位,但在一些小型環境、頁面局部設計或頁面元素定位中表格布局仍有自己的一席之地。2.3頁面布局2.3.2使用DIV和CSS布局頁面1.CSS+DIV頁面布局示例參閱源代碼:ex2-32.3頁面布局2.3.2使用DIV和CSS布局頁面2.CSS+DIV布局的常用技巧1.2.3.2.3頁面布局2.3.3頁面元素的定位流布局定位(static)2.坐標絕對定位(absolute)3.坐標相對定位(relative)參閱源代碼:ex2-42.4
實訓頁面布局綜合練習2.4.1實訓目的進一步理解在VisualStudio環境中創建、編輯和引用CSS樣式表文件的基本步驟。理解層元素在頁面布局中的重要作用及使用方法。綜合運用CSS+DIV布局技術設計出實用的網站主頁。2.4.2實訓要求新建一個ASP.NET空網站,向網站中添加一個Web窗體頁Default.aspx。在Default.aspx中使用CSS+DIV技術設計出圖2-24所示的網站主頁效果。要求頁面中導航欄、銷售排行榜中內容使用ASP.NET標準控件HyperLink,商品名稱、商品種類、用戶名、密碼欄使用ASP.NET標準控件TextBox,所有按鈕使用ASP.NET標準控件Button,商品種類欄使用ASP.NET標準控件DropDownList。2.4
實訓頁面布局綜合練習第3章主題與母版頁本章講述的主要內容
3.1使用主題與外觀文件
3.2母版頁與內容頁
3.3從內容頁訪問母版頁的內容3.4實訓使用母板頁和內容頁
3.1使用主題與外觀文件3.1.1使用主題主題是一組外觀文件和CSS文件的集合。在解決方案資源管理器中,主題表現為一個ASP.NET特殊文件夾App_Themes下的一個子文件夾,其中可以存放外觀文件(.skin)和級聯樣式表文件(.css)。
在頁面的@Page指令中按如下所示添加頁面的Theme屬性或StyleSheetTheme屬性,即可將主題應用到當前頁面中。<%@PageLanguage="C#"…Theme="主題名稱"…%>或:<%@PageLanguage="C#"…StyleSheetTheme="主題名稱"…%>3.1
使用主題與外觀文件3.1.2
使用外觀文件
1.創建和使用外觀文件在解決方案資源管理器中,右鍵單擊某主題名稱,在彈出的快捷菜單中執行“添加新項”命令,在打開的對話框中選擇“外觀文件”模板,并為外觀文件指定名稱后單擊“添加”按鈕,即可將外觀文件添加到指定的主題中。外觀文件添加到網站后,系統將自動切換到外觀文件代碼編寫窗口。其中,<%……%>之間的內容為注釋文本,用于提示用戶編寫代碼時的注意事項。外觀文件的內容可在注釋信息之外進行編寫。3.1
使用主題與外觀文件3.1.2
使用外觀文件
2..sink文件與.css文件的區別外觀文件(.skin)和級聯樣式表文件(.css)的主要區別有以下幾個方面。1)外觀文件可以使頁面中多個同類ASP.NET控件具有相同的外觀樣式,而級聯樣式表只能通過設置“CssClass”屬性實現單個ASP.NET控件的外觀樣式控制。2)外觀文件可以實現對所有ASP.NET控件的外觀設置,而級聯樣式表文件并不是對所有ASP.NET控件都有效,其主要應用領域是HTML元素。3)在控制外觀屬性較多的ASP.NET控件時,需要在樣式表文件中定義大量的類名選擇符,使文件變得十分臃腫。而且若各CSS類之間的關系處理不好,還可能造成頁面布局的混亂。3.1使用主題與外觀文件3.1.3利用主題實現頁面換膚在ASP.NET程序運行時,可以通過代碼實現頁面主體的動態變更,即可以根據用戶的選擇變更主體,從而使頁面具有不同的外觀。
參閱源代碼:ex3-23.2母版頁與內容頁3.2.1母版頁和內容頁的概念母版頁是指其他網頁可以作為模板來引用的特殊網頁,其文件擴展名為“.master”。在母版頁中,界面被分為公用區域和可編輯區。公用區的設計方法和普通網頁的設計方法相同,可編輯區需要使用ContentPlaceHolder控件預留出來。一個母版頁中可以有一個或多個可編輯區。
所謂內容頁是指引用了母版頁的.aspx頁面。在內容頁中母版頁的ContentPlaceHolder控件預留可編輯區域會自動替換為Content控件,設計人員只要在其中填充需要顯示的內容即可,在母版頁中定義的公共區域元素將自動顯示在內容頁中。3.2母版頁與內容頁3.2.2
創建母版頁和內容頁
1.創建母版頁
3.2
母版頁與內容頁3.2.2
創建母版頁和內容頁
2.創建內容頁在解決方案資源管理器中,右鍵單擊網站名稱,在彈出的快捷菜單中執行“添加新項”命令,在下圖所示的對話框中選擇“母版頁”,并為母版頁命名后單擊“添加”按鈕。參閱源代碼:ex3-33.3
從內容頁訪問母板頁的內容3.3.1從內容頁訪問母版頁控件的屬性由于內容頁被打開時,會將母版頁合并到自己的頁面代碼中來構成最終的頁面代碼,所以在內容頁中訪問母版頁中的控件屬性是完全可能的。具體的實現方法是:首先使用系統Master類中提供的FindControl()方法,獲取對母版頁中控件的引用(相當于得到母版頁控件的副本)。而后,對該引用進行操作,讀取或更改母版頁控件的屬性值。FindControl()方法的語法格式為:Master.FindControl("被查找控件的ID屬性值");3.3從內容頁訪問母板頁的內容3.3.2在內容頁中響應母版頁控件的事件在母版頁中常包含類似用戶登錄、站內搜索等需要與用戶交互操作的界面,這就需要能夠在內容頁中處理發生在母版頁中的系統事件或用戶事件。在內容頁中響應母版頁中的事件,需要用到“委托”技術,也就是說將母版頁中發生的事件“委托”給內容頁中編寫的某個“方法”程序來處理。EventHandler委托的語法格式如下所示:事件名稱+=newEventHandler(處理事件的方法名稱);3.4實訓使用母板頁和內容頁3.4.1實訓目的進一步理解在VS環境中創建、編輯和引用母版頁、內容頁的基本步驟。理解母版頁和內容頁之間的關系。綜合運用母版頁、內容頁和CSS+DIV布局技術設計出實用的,具有統一風格的網站頁面體系。3.4.2實訓要求要求使用母板頁技術控制站內其他網頁的外觀風格。其中,母版頁設計效果如圖3-15所示,引用了母版頁的Default.aspx、QA.aspx內容頁在瀏覽器中呈現類似圖3-16所示的效果。引用了母版頁的Slight.aspx內容頁呈現圖3-17所示的效果。3.4實訓使用母板頁和內容頁3.4.2實訓要求
3.4實訓使用母板頁和內容頁3.4.2實訓要求
第4章C#程序設計基礎本章講述的主要內容
4.1C#程序設計方法
4.2使用動態控件
4.3創建和使用自定義控件
4.4實訓
4.1C#程序設計方法4.1.1事件驅動機制所謂“事件”指的是能被程序感知到的用戶或系統發起的操作。如用戶單擊了鼠標、輸入了文字、選擇了選項;系統將窗體裝入內存并初始化等。
VS中包含了大量已定義的隸屬于各種控件的事件,如Click()、Load()、TextChange()等等。在代碼窗口中設計人員可以編寫響應事件的代碼段來實現程序的具體功能,這就是可視化程序設計方法的事件驅動機制。
當然,除了系統預定義的各種事件外,還可以通過委托創建具有特定功能的自定義事件以滿足程序設計的需要。4.1C#程序設計方法4.1.2選擇結構程序設計方法所謂選擇結構是指程序可以根據一定的條件有選擇地執行某一程序段,即對不同的問題采用不同的處理方法。C#提供了多種形式的條件語句來實現選擇結構。1.if…else結構if語句是程序設計中基本的選擇語句,if語句的語法格式為:if(條件表達式){語句序列1;}else{語句序列2;}4.1C#程序設計方法4.1.2選擇結構程序設計方法
2.if…elseif結構if…elseif語句的語法結構如下:if(條件表達式1){條件表達式1成立時執行的語句序列;}elseif(條件表達式2){條件表達式2成立時執行的語句序列;}elseif(條件表達式n){條件表達式n成立時執行的語句序列;}else{所有條件都不成立時執行的語句序列;}4.1C#程序設計方法4.1.2選擇結構程序設計方法
3.多分支選擇結構(switch語句)switch語句的語法格式為:switch(控制表達式){case常量表達式1:
語句序列1;break;case常量表達式2:
語句序列2;break;default:
語句序列3;break;}4.1C#程序設計方法4.1.3循環結構程序設計方法
1.for循環
for循環常常用于已知循環次數的情況(也稱為“定次循環”),使用該循環時,測試是否滿足某個條件,如果滿足條件,則進入下一次循環,否則,退出該循環。for循環語句的語法格式為:for(表達式1;表達式2;表達式3){
循環語句序列(循環體);}4.1C#程序設計方法4.1.3循環結構程序設計方法
2.while循環
while循環適合不定次循環的種情況。循環時在循環的頂部判斷某個條件是否滿足,當循環的條件判斷為真時(滿足條件),進入循環,否則退出循環。while循環語句的格式為:while(條件表達式){
循環語句序列;}4.1C#程序設計方法4.1.3循環結構程序設計方法
3.do…while循環
do…while循環非常類似于while循環。一般情況下,二者可以相互轉換使用。它們之間的差別在于while循環的測試條件在每一次循環開始時執行,而do…while循環的測試條件在每一次循環體結束時進行判斷。do…while語法的一般格式為:do{
語句序列;}while(條件表達式);4.1C#程序設計方法4.1.3循環結構程序設計方法
4.foreach循環
foreach循環主要應用于遍歷數據集(如,數組、集合、文件夾中的文件、數據表等)的場景中。其語法格式為:foreach(類型變量名in數據集名){
循環體語句;}4.1C#程序設計方法4.1.3循環結構程序設計方法
5.循環的嵌套
若一個循環結構中包含有另一個循環,則稱為“循環的嵌套”。這種語句結構稱為多重循環結構。內層循環中還以包含新的循環,形成多層循環結構,循環嵌套的層數理論上無限制。在多重循環結構中,三種循環語句(for循環、while循環和do…while循環)可以互相嵌套。在多重循環中,需要注意的是循環語句所在循環的層次,內循環必須完全包含在外循環內部。4.1C#程序設計方法4.1.4使用類文件和類庫
類文件是添加到網站中的一種獨立的代碼集合,其中通常包含了關于程序中所涉及的對象的一些定義(對象的屬性、方法和事件等)和對數據庫的操作(對數據庫的增、刪、改、查),也可以包含一些應用程序的業務邏輯實現。
類庫中包含的內容與類文件基本相同,只是類庫需要單獨創建,編譯后將生成一個.dll文件(動態鏈接庫文件)。類庫不隸屬于網站項目,只能被網站引用。類庫被引用后便可在網站中使用其中定義的對象和方法。4.1C#程序設計方法4.1.4使用類文件和類庫
1.向網站中添加類文件4.1C#程序設計方法4.1.4使用類文件和類庫
2.引用類庫類庫是包含了一些特定功能(如,數據庫操作、某種業務邏輯的實現等)的應用程序封裝。類庫可以由程序員根據實際需要自行編寫代碼創建,也可以直接引用第三方提供的已編譯完成的.dll文件。Internet中存在大量優秀的,由第三方編寫、封裝的.dll格式的類庫或組件文件,直接引用這些類庫可以非常輕松的完成一些看似很復雜的工作。例如,需要在沒有安裝MicrosoftWord軟件的Web服務器中,對Word文檔進行讀、寫、插圖、插表、合并文檔等操作時,就可以借助由第三方提供的,功能十分強大的Aspose.Words.dll來實現。
參閱源代碼:ex4-64.2使用動態控件存放在工具箱中的各種控件,都是以“類”的形式出現的。例如,工具箱中的按鈕控件圖標就代表了各種表現形式的所有按鈕。也就是說工具箱中的控件表現的是一種“類型”,將其添加到窗體的操作實際上是完成了“類的實例化”,即將抽象的類型轉換成實際的對象。由于控件是控件類的實例化結果,自然可以在程序運行中使用代碼動態地創建、顯示和操作控件。通常將由代碼根據實際需要動態創建的控件稱為“動態控件”。4.2使用動態控件4.2.1創建動態控件
1.實例化控件類控件類的實例化與普通類的實例化步驟完全相同,其語法格式為:
控件類名對象名=new控件類名;例如,下列語句用于實例化一個Button類對象。
Buttonbtn=newButton();通過控件類實例化得到的控件對象,可以像處理普通控件一樣設置其初始屬性。例如:
4.2使用動態控件4.2.1創建動態控件
2.創建控件類對象的事件通過實例化得到控件類對象后,通常需要使用帶有兩個參數的EventHandler委托來定義對象的某個事件。概括的說使用EventHandler委托聲明對象事件的語法格式為:
對象名.事件名+=newEventHandler(事件處理程序名);例如,聲明某文本框對象txt的TextChanged事件可使用如下語句:
txt.TextChanged+=EventHandler(txt_TextChanged);4.2使用動態控件4.2.2使用動態控件
1.將動態控件添加到Web頁面將控件對象添加到窗體或某個容器控件中,需要使用Controls類的Add方法,其語法格式為:
Controls.Add(對象名稱);例如,下列代碼可將一個按鈕對象添加到窗體的指定位置。4.2使用動態控件4.2.2使用動態控件
2.訪問動態控件的屬性訪問控件對象的屬性需要首先使用Controls類的Find方法查找控件,該方法帶有的兩個參數分別表示被查找控件的Name屬性值和是否查找子控件。其語法格式為:
Control[]結果集名稱=Controls.Find("對象Name屬性值",true/false)Find方法的返回值為一個控件集合(存放所有找到的控件)。如果希望訪問結果集中第n個控件的某屬性值可使用如下代碼:
變量類型變量名=結果集名稱[n-1].屬性名;
[n-1]:結果集的索引值從零開始
參閱源代碼:ex4-74.3創建和使用自定義控件4.3.1創建自定義控件創建或打開一個ASP.NET網站,在解決方案資源管理器中右鍵單擊網站名稱,在彈出的快捷菜單中執行“添加”下的“Web用戶控件”命令,在彈出的對話框中指定自定義控件文件名后單擊“確定”按鈕。在設計自定義控件時所使用的編程技術與設計Web頁面的技術完全相同,甚至只需對Web窗體(.aspx)進行簡單的修改即可使之成為自定義控件。自定義控件文件名以“.ascx”為擴展名進行標識。自定義控件頁與Web窗體頁主要有以下兩點區別:①自定義控件頁只能以.ascx為擴展名;②在自定義控件文件中不能包含<html>、<body>、<from>元素,這些元素應位于宿主頁(引用自定義控件的Web窗體)中。4.3創建和使用自定義控件4.3.2使用自定義控件
2.程序運行時動態添加自定義控件通常需要在主Web頁面中添加一個容器控件PlaceHolder,作為用戶自定義控件的“占位”控件。在程序運行時通過代碼創建一個自定義控件的實例,而后將自定義控件添加到容器控件中。
例如:4.3創建和使用自定義控件4.3.2使用自定義控件
1.程序設計時使用自定義控件在解決方案資源管理器中,將設計完畢的自定義控件直接從解決方案資源管理器拖動到頁面適當的位置。窗體設計器能自動向Web頁面添加@Register指示符,使自定義控件成為Web窗體的一個組成部分。此外,當自定義控件被添加到Web窗體中后,該控件的公共屬性、事件和方法也將向Web窗體公開,并可以通過編程的方式來使用。4.4實訓掌握C#程序設計方法4.4.1實訓目的通過上機操作掌握C#中結構化程序設計的基本方法;理解順序結構、選擇結構的基本概念;掌握if…else、switch語句的使用方法。通過本實訓進一步理解使用C#創建ASP.NET網站的一般步驟和常用編程技巧。4.4.2實訓要求為小學生設計一個用于100以內的加法練習程序。第5章ASP.NET常用對象和狀態管理本章講述的主要內容5.1Page對象5.2Response對象5.3Request對象5.4Server對象5.5ASP.NET狀態管理5.6實訓使用Cookie
5.1Page對象5.1.1Page對象的常用屬性、方法和事件
1.Page對象的屬性5.1Page對象5.1.1Page對象的常用屬性、方法和事件
2.Page對象的常用方法和事件5.1Page對象5.1.2Web窗體頁面的生命周期1)初始化:該階段將觸發Page對象的Init事件,并執行OnInit方法。該階段在Web窗體的生存周期內僅此一次。2)加載視圖狀態:該階段主要執行LoadViewState()方法3)處理回發數據:該階段主要執行LoadPostData()方法,用來檢查客戶端發回的控件數據的狀態是否發生了變化。4)加載:該階段將觸發Load事件,并執行Page_Load方法。5)預呈現:該階段要處理在最終呈現之前所做的各種狀態更改。6)保存狀態:該階段的任務是將當前狀態寫入ViewState屬性。7)呈現:該階段將對應的HTML代碼寫入最終響應的流中。8)處置:該階段將執行Dispose方法,釋放占用的系統資源。9)卸載:這是Web窗體生命周期的最后一個階段,在這個階段中將觸發UnLoad事件,執行OnUnLoad方法,以處理Web窗體在消亡前的最后處理。5.2Response對象5.2.1Response對象的常用屬性和方法
Response對象的常用屬性見下表。5.2Response對象5.2.1Response對象的常用屬性和方法
Response對象的常用方法見下表。
5.2Response對象5.2.2使用Response對象輸出信息到客戶端1.使用Write方法
Write方法的語法格式如下:
Response.Write(string);2.使用WriteFile方法
使用Response對象的WriteFile方法可以將指定的文件內容直接寫入HTML輸出流。其語法格式如下:
Response.WriteFile(filename);5.2Response對象5.2.3使用Redirect方法實現頁面跳轉
Response對象的Redirect方法用于將客戶端重定向到新的URL,實現頁面間的跳轉。該方法的語法格式如下:
Response.Redirect(url[,endResponse])使用Response對象的Redirect方法時應注意如下問題:1)使用該方法實現跳轉時,瀏覽器地址欄中將顯示目標URL。2)執行該方法時,重定向操作發生在客戶端,涉及到兩個不同頁面或兩個Web服務器之間的通信,第一階段是對原頁面的請求,第二階段是對目標URL的請求。3)該方法執行后內部控件保存的所有信息將丟失,因此當從A頁面跳轉到B頁面后,在頁面B中無法訪問A頁面提交的數據。若需從A頁面傳遞數據到B頁面,只能通過url參數中的“?”來實現。5.3
Request對象5.3.1Request對象的常用屬性和方法
1.Request對象的常用屬性
5.3
Request對象5.3.1Request對象的常用屬性和方法
2.Request對象的常用方法1)MapPath(VirtualPath):該方法將當前請求的URL中的虛擬路徑VirtualPath映射到服務器上的物理路徑。參數VirtualPath用于指定當前請求的虛擬路徑(可以是絕對路徑,也可以是相對路徑)。返回值為與VirtualPath對應的服務器端物理路徑。2)SaveAs(filename,includeHeaders):該方法將客戶端的HTTP請求保存到磁盤。參數filename用于指定文件在服務器上保存的位置;布爾型參數includeHearders用于指示是否同時保存HTTP頭。
5.3
Request對象5.3.1Request對象的常用屬性和方法3.通過查詢字符串實現跨頁數據傳遞Request對象的QueryString屬性用于接收來自用戶請求URL地址中“?”后面的數據,通常將這些數據稱為“查詢字符串”,也稱為“URL附加信息”,常被用來在不同網頁中傳遞數據。使用Response對象的Redirect屬性可以同時傳遞多個參數,其語法格式如下:
Response.Redirect("目標網頁?參數1&參數2&…&參數n");5.3
Request對象5.3.1Request對象的常用屬性和方法4.使用Browser屬性獲取客戶瀏覽器信息
Request對象的Browser屬性包含有眾多子屬性,用來返回客戶端瀏覽器的信息和客戶端操作系統的信息等。5.3
Request對象5.3.2處理HTML表單在Web窗體頁面中,往往包含有許多Web服務器控件(文本框、單選按鈕、復選框等)或HTML表單。這些控件的值存放在窗體變量中,當用戶提交頁面時,這些窗體變量被發送到服務器端。使用Request對象的Form屬性可以訪問被提交到服務器的窗體變量。其語法格式如下:
Request.Form[element|index]
Request對象的Browser屬性包含有眾多子屬性,用來返回客戶端瀏覽器的信息和客戶端操作系統的信息等。
參閱源代碼:ex5-15.4
Server對象5.4.1Server對象的常用屬性和方法
Server對象的常用屬性有:
MachineName屬性和ScriptTimeout屬性常用方法見下表。5.4
Server對象5.4.2Execute、Transfer和MapPath方法
1.Execute和Transfer方法
Server對象的Execute方法和Transfer方法都可以實現從當前頁面跳轉到另一頁面的功能。但需要注意的是:Execute方法在新頁面中的程序執行完畢后自動返回到原頁面,繼續執行后續代碼;而Transfer方法在執行了跳轉后不再返回原頁面,后續語句也永遠不會被執行。但跳轉過程中Request、Session等對象中保存的信息不變,也就是說從A頁面使用Transfer方法跳轉到B頁面后,可以繼續使用A頁面中提交的數據。此外,由于Execute方法和Transfer方法都是在服務器端執行的,客戶端瀏覽器并不知道已進行了一次頁面跳轉,所以其地址欄中的URL仍然是原頁面的數據。這一點與Response對象Redirect方法實現的頁面跳轉是不同的。5.4
Server對象5.4.3Execute、Transfer和MapPath方法
2.MapPath方法在Web應用程序執行時可能需要訪問存放在服務器中的某一文件,此時就需要將文件的虛擬路徑轉換成服務器端對應的物理路徑。而Server對象的MapPath方法就是用來完成這一任務的。MapPath()方法的語法格式為:
Server.MapPath(虛擬路徑);5.5ASP.NET的狀態管理5.5.1創建和使用Cookie對象
1.創建Cookie瀏覽器負責管理客戶機上的Cookie,Cookie需要通過Response對象發送到瀏覽器,發送前需要將其添加到Cookie集合中。Cookie有3個重要的參數:名稱、值和有效期。如果沒有設置Cookie的有效期,它仍可被創建,但不會被Response對象發送到客戶端,而是將其作為用戶會話的一部分進行維護,當用戶關閉瀏覽器(會話結束)時該Cookie將被釋放。這種非永久性Cookie十分適合用來保存只需要短暫保存或由于安全原因不能保存在客戶機上的信息。創建Cookie的語法格式如下:
Response.Cookies["名稱"].Value=值;
5.5ASP.NET的狀態管理5.5.1創建和使用Cookie對象
2.讀取Cookie
使用Request對象的Cookies屬性可以讀取保存在客戶機上指定Cookie的值,其語法格式如下:變量=Request.Cookies["名稱"].Value;5.5ASP.NET的狀態管理5.5.1創建和使用Cookie對象
3.使用多值Cookie
例如,下列語句創建了一個名為“Person”的Cookie集合,其中包含有3個子屬性,對于瀏覽器來說,只相當于一條Cookie。
使用下列語句可從上述多值Cookie中讀取數據。參閱源代碼:ex5-25.5ASP.NET的狀態管理5.5.2創建和使用Session對象
1.Session的工作原理
當用戶請求一個ASP.NET頁面時,系統將自動創建一個Session,退出應用程序時該會話撤銷。系統創建會話時將為其分配一個標識(SessionID),以實現對會話進行管理和跟蹤。
SessionID具有的隨機性和惟一性保證了會話不會沖突,也不能利用新SessionID推算出現有會話的SessionID。通常情況下,SessionID會存放在客戶端的Cookies內,當用戶訪問ASP.NET網站中任何一個頁面時,SessionID將通過Cookie傳遞到服務器端,服務器根據SessionID的值對用戶進行識別,以返回對應該用戶的Session信息。5.5ASP.NET的狀態管理5.5.2創建和使用Session對象
2.Session對象的常用屬性及方法Session對象的常用屬性見下表。5.5ASP.NET的狀態管理5.5.2創建和使用Session對象
2.Session對象的常用屬性及方法Session對象的常用方法見下表。5.5ASP.NET的狀態管理5.5.2創建和使用Session對象
3.使用Session對象(1)將數據保存到Session對象中
向Session對象中存入數據的方法十分簡單,下面的語句使用戶單擊按鈕時將3個字符串分別存入2個Session中。5.5ASP.NET的狀態管理5.5.2創建和使用Session對象
3.使用Session對象(2)從Session對象中取出數據下面的語句表示了當目標頁面裝入時如何從Session對象中取出數據的方法。protectedvoidPage_Load(objectsender,EventArgse){Label1.Text=(string)(Session["MyVal1"]);Label2.Text=Session[“MyVal2”].ToString();}5.5ASP.NET的狀態管理5.5.3使用PreviousPage屬性
1.PreviousPage與Session的比較
PreviousPage與Session相似,都可以實現跨頁數據傳遞。二者主要的不同有以下幾點:①PreviousPage主要用來傳遞控件的屬性值。Session不僅可以傳遞控件屬性值,也可以方便地傳遞變量值。②PreviousPage與Session相比不需要一直占用服務器內存資源,特別適合跨頁面傳遞較多數據的情況。2.PreviousPage使用示例
參閱源代碼:ex5-45.6實訓使用Cookie5.6.1實訓目的通過實訓進一步理解Cookie的概念及使用方法。5.6.2實訓要求設計一個ASP.NET網站,向Default.aspx頁面中添加一個按鈕控件和一個標簽控件。
頁面首次加載時創建一個名為“MyCookie”,有效期為1分鐘的Cookie,并為其賦值“OK”,標簽中顯示Cookie到期時間和值。
在Cookie有效期內單擊按鈕,標簽中顯示“Cookie有效”和Cookie值。過期后單擊按鈕,標簽中顯示“Cookie已失效”。第6章使用ASP.NETAJAX本章講述的主要內容6.1Ajax和ASP.NETAJAX概述6.2ASP.NETAJAX基本控件6.3ASP.NETAJAX控件工具包6.4實訓設計一個限時在線考試系統
6.1Ajax和ASP.NETAJAX概述6.1.1Ajax的概念Ajax主要包括以下一些內容:1)使用HTML+CSS來表示信息。2)使用JavaScript操作(文檔對象模型)。3)使用XML和XSLT(EXtensibleStylesheetLanguageTransformations,擴展樣式表轉換)進行數據交換及操作。4)使用XmlHttpRequest對象與Web服務器進行異步數據交換。5)使用JavaScript將各部分內容綁定在一起。6.1Ajax和ASP.NETAJAX概述6.1.1Ajax的概念
Ajax的實現基本原理是,當用戶與瀏覽器中的頁面進行交互時,將觸發頁面元素對象的相應事件,客戶端捕獲這些事件后,如果需要將交互動作引起的邏輯實現提交給服務器進行處理,則將要處理的數據(包括狀態描述)轉換為XML格式的字符串,并使用異步傳輸方式提交給服務器。服務器處理結束后,同樣使用XML格式和異步傳輸方式將處理結果送回。客戶端從返回結果中提取需要的部分,交由JavaScript對網頁進行“局部更新”,而不是刷新整個頁面。6.1Ajax和ASP.NETAJAX概述6.1.2ASP.NETAJAX
2007年微軟公司真正推出了具有Ajax風格的,方便的異步編程模型,這就是ASP.NETAJAX。
注意,為了與其他Ajax技術區分,微軟將其全部使用大寫,并在前面加上了“ASP.NET”。ASP.NETAJAX的正式命名為“ASP.NETAJAXExtensions”和“MicrosoftAJAXLibrary”。
ASP.NETAJAXExtensions提供了與ASP.NET高度集成的服務器端功能,包括客戶端數據綁定、DHTML動畫和行為等,同時使用ScriptManager控件和UpdatePanel控件實現客戶端腳本管理和對客戶端回傳(post)的攔截,這樣一來開發人員就可以在現有ASP.NET應用程序中方便的使用ASP.NETAJAX了。6.2ASP.NETAJAX控件6.2.1ScriptManager和ScriptManagerProxy控件
1.ScriptManager的常用屬性和方法
ScriptManager控件常用屬性見下表。
6.2ASP.NETAJAX控件6.2.1ScriptManager和ScriptManagerProxy控件
1.ScriptManager的常用屬性和方法
ScriptManager控件常用方法見下表。
6.2ASP.NETAJAX控件6.2.1ScriptManager和ScriptManagerProxy控件
2.使用ScriptManager控件注冊客戶端腳本
(1)使用RegisterClientScriptBlock方法
RegisterClientScriptBlock方法是一個靜態方法,用于動態地向網頁中添加客戶端腳本塊。該方法的重載形式有以下兩種:6.2常用ASP.NETAJAX控件6.2.1ScriptManager和ScriptManagerProxy控件
2.使用ScriptManager控件注冊客戶端腳本
(2)使用RegisterStartupScript方法
RegisterStartupScript()方法用于在UpdatePanel控件中注冊啟動時立即執行的JavaScript腳本塊,是一種AutoRun類型的自啟動腳本。類似于常用的<bodyonload="f()">中的f()函數。6.2ASP.NETAJAX控件6.2.2UpdatePanel控件
1.UpdatePanel控件的常用屬性
(1)Triggers屬性:表示可以導致UpdatePanel控件更新的觸發器集合。
(2)ChildrenAsTrigger屬性:該屬性為一個bool值,用來說明UpdatePanel控件的子控件引起的回發是否能導致Update-Panel控件的更新。
(3)UpdateMode屬性:UpdateMode屬性表示UpdatPanel控件的更新模式。
(4)ContentTemplate屬性:ContentTemplate屬性用來定義UpdatePanel包含的內容。6.2ASP.NETAJAX控件6.2.2UpdatePanel控件
2.頁面的局部更新和條件更新
ScriptManager控件與UpdatePanel控件配合,可以在不必編寫任何JavaScript代碼的情況下實現頁面的局部更新和條件更新。
參閱源代碼:ex6-16.2ASP.NETAJAX控件6.2.3UpdateProgress控件
UpdateProgress控件可以與UpdatePanel控件配合使用,在UpdatePanel頁面內容進行更新時通過該控件顯示一些提示信息,這些信息可以是一段文字、傳統的進度條或一段動畫等。當更新結束后,提示信息自動消失。UpdateProgress控件主要用于更新數據量較大的場合,顯示提示信息以避免用戶執行了操作后頁面較長時間無反應的尷尬。UpdateProgress控件的常用屬性有:①AssociatedUpdatePanel②DisplayAfter③DynamicLayout④ProgressTemplate6.2ASP.NETAJAX控件6.2.4Timer控件1.Timer控件的常用屬性和事件(1)Interval屬性Interval屬性用于設置頁面向服務器發送回傳的,以毫秒為單位的時間間隔,默認值為60000毫秒。(2)Enable屬性Enable屬性與其他標準控件的Enable屬性相同,用來決定Timer控件是否可用。(3)Tick事件Tick事件是Timer控件周期性觸發的事件,寫在該事件過程中的代碼能被應用程序周期性的自動執行。2.使用Timer控件
參閱源代碼:ex6-26.3ASP.NETAJAX控件工具包6.3.1安裝ASP.NETAJAX控件工具包
ASP.NETAJAXControlToolkit并沒有包含在VisualStudio2015中,使用前需要從Internet中下載并安裝整合到VisualStudio中。
需要說明的是,控件工具包的更新頻率非常快,不斷有新的控件或功能被添加進來,而且工具包官方下載地址也有可能變化。目前ASP.NETAJAXControlToolkit安裝包的官方下載地址為:
/releases
退出VisualStudio,運行下載的安裝包程序,安裝進程結束后再次啟動VisualStudio可以看到工具箱中多出了一個名為“AJAXControlToolkitv15.1”的選項卡,其中包含有51個ASP.NETAJAX擴展控件。6.3ASP.NETAJAX控件工具包6.3.2使用ConfirmButtonExtender控件彈出確認對話框1.ConfirmButtonExtender控件的常用屬性(1)ConfirmText屬性該屬性用于設置彈出確認對話框時,對話框中顯示的確認信息文本。(2)OnClientCancel屬性該屬性用于設置當用戶單擊對話框中“取消”按鈕時執行的代碼。默認值為空,表示不執行任何操作。(3)TargetControlID該屬性用于指定ConfirmButtonExtender控件為哪個標準控件提供彈出確認對話框的擴展功能。2.ConfirmButtonExtender控件使用示例
參閱源代碼:ex6-36.3ASP.NETAJAX控件工具包6.3.3使用FilteredTextExtender和TextBoxWatermarkExtender1.FilteredTextExtender擴展控件的常用屬性的常用屬性6.3ASP.NETAJAX控件工具包6.3.3使用FilteredTextExtender和TextBoxWatermarkExtender2.TextBoxWatermarkExtender的常用屬性
TextBoxWatermarkExtender擴展控件的常用屬性有WatermarkText和WatermarkCssClass。
WatermarkText屬性用于設置文本框內容為空時,文本框內顯示的文本內容。通常用于顯示輸入指導。
WatermarkCssClass屬性用于指定文本框內容為空時的外觀樣式類,如文字的樣色、文本框的邊框顏色和樣式、背景色等。3.FilteredTextExtender和TextBoxWatermarkExtender使用示例
參閱源代碼:ex6-46.3ASP.NETAJAX控件工具包6.3.4使用AsyncFileUpload實現文件上傳1.AsyncFileUpload控件的常用屬性、事件和方法6.3ASP.NETAJAX控件工具包6.3.4使用AsyncFileUpload實現文件上傳1.AsyncFileUpload控件的常用屬性、事件和方法6.3ASP.NETAJAX控件工具包6.3.4使用AsyncFileUpload實現文件上傳2.AsyncFileUpload控件使用示例
參閱源代碼:ex6-56.3.5使用CalendarExtender和AutoCompleteExtender擴展控件1.使用CalendarExtender擴展控件6.3ASP.NETAJAX控件工具包1.使用CalendarExtender控件使用CalendarExtender控件可以實現通過鼠標向文本框中錄入日期的功能,大大地減少了用戶錄入的工作量和出錯的可能性。
CalendarExtender控件一般需要附加在TextBox控件上使用,其最常用的屬性為Format屬性,該屬性用于設置日期的輸入格式。需要注意的是,默認情況下CalendarExtender控件中的日期是用英文顯示的,若希望使用中文,則需要在屬性窗口或源視圖中設置ScriptManager控件的EnableScriptGlobalization屬性為true。6.3ASP.NETAJAX控件工具包2.使用AutoCompleteExtender擴展控件
AutoCompleteExtender擴展控件需要Web服務(WCF或WebService)的支持才能實現。Web服務在程序運行過程中為AutoCompleteExtender提供所需數據集和匹配篩選,數據集的來源可以是數據庫、數據文件或數組對象等。6.3ASP.NETAJAX控件工具包2.使用AutoCompleteExtender擴展控件
AutoCompleteExtender擴展控件需要Web服務(WCF或WebService)的支持才能實現。Web服務在程序運行過程中為AutoCompleteExtender提供所需數據集和匹配篩選,數據集的來源可以是數據庫、數據文件或數組對象等。參閱源代碼:ex6-66.4實訓6.4.1實訓目的6.4.2實訓要求設計一個能限制時間的在線考試系統,該系統具有如下功能:①系統支持最多100道的單選題(4選1)。②考試題目存儲在單獨的文本文件內(App_Data/test.txt)。如圖6-21所示,每題以題目內容、正確答案、4個選項為順序逐行書寫。③自動生成如圖6-22所示的考試成績表,存放在App_Data/result.txt文件中。④考生訪問網站時首先看到的是圖6-23所示的登錄界面,在輸入姓名、準考證號后單擊“開始考試”按鈕,系統首先對用戶輸入的姓名、準考證號的合法性進行檢測,要求“姓名”、“準考證號”不得為空;準考證號必須由6位數字組成,且考生不是重復考試(成績表中沒有該準考證號的記錄)。未通過檢測將顯示相應的出錯提示信息。第7章JavaScript本章講述的主要內容7.1JavaScript的基本概念7.2JavaScript程序設計基礎7.3JavaScript對象7.4BOM和DOM對象7.5實訓設計浮動圖片效果
7.1JavaScript的基本概念7.1.1JavaScript概述JavaScript是一種通用的、跨平臺的、基于對象和事件驅動的客戶端腳本語言,其主要特點有以下幾個方面。(1)弱數據類型(2)跨平臺(3)基于對象Transformations,擴展樣式表轉換)進行數據交換及操作。(4)基于事件驅動7.1JavaScript的基本概念7.1.1JavaScript概述JavaScript
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山西省忻州市部分學校2025屆九年級下學期中考二模數學試卷(含解析)
- 疼痛醫療服務行業行業痛點與創新解決方案案例分析報告
- 2025年工業污染場地修復技術選擇與成本效益評估與政策實施效果報告
- 醫藥流通行業供應鏈成本控制與可持續發展研究
- 2025年新能源汽車廢舊電池回收利用產業技術創新趨勢預測與市場前景分析報告
- 綠色轉型對資源型城市生態環境保護的推動與影響報告
- 零售私域流量運營實戰技巧與用戶忠誠度管理報告
- 食品飲料包裝行業可持續發展目標與路徑規劃報告
- 2025年環境影響評價公眾參與機制與環境保護公眾參與效果評估指標體系創新報告
- 2025年四川省德陽市中考理綜物理試題【含答案、解析】
- 車輛收費及管理制度
- 新能源汽車全生命周期碳足跡測算模型及減排策略
- T/CAS 612-2022碳中和管理體系要求
- 2025-2030中國顯微鏡行業市場深度調研及發展趨勢與投資戰略研究報告
- 平臺合伙人合同協議書
- 運維安全保密措施
- 糧食加工消防安全管理規定
- 《智能駕駛技術解析》課件
- 信息管理崗試題及答案
- GA/T 2160-2024法庭科學資金數據檢驗規程
- 2024北京西城區五年級(下)期末語文試題及答案
評論
0/150
提交評論