《商務(wù)網(wǎng)站設(shè)計(jì)與開發(fā)》課件第11章 ASP.NET請(qǐng)求、響應(yīng)及頁生命周期_第1頁
《商務(wù)網(wǎng)站設(shè)計(jì)與開發(fā)》課件第11章 ASP.NET請(qǐng)求、響應(yīng)及頁生命周期_第2頁
《商務(wù)網(wǎng)站設(shè)計(jì)與開發(fā)》課件第11章 ASP.NET請(qǐng)求、響應(yīng)及頁生命周期_第3頁
《商務(wù)網(wǎng)站設(shè)計(jì)與開發(fā)》課件第11章 ASP.NET請(qǐng)求、響應(yīng)及頁生命周期_第4頁
《商務(wù)網(wǎng)站設(shè)計(jì)與開發(fā)》課件第11章 ASP.NET請(qǐng)求、響應(yīng)及頁生命周期_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

內(nèi)容11.1ASP.NET網(wǎng)頁代碼模型11.2Page類及頁生命周期11.3ASP.NET的事件驅(qū)動(dòng)模型11.4Request屬性11.5Response屬性11.6思考題11.1ASP.NET網(wǎng)頁代碼模型(1)ASP.NET文件擴(kuò)展名可以在服務(wù)器執(zhí)行的ASP.NET頁面和在瀏覽器端執(zhí)行的靜態(tài)HTML網(wǎng)頁最大的不同就是:在ASP.NET頁面代碼中包含了需要Web服務(wù)器識(shí)別和處理的元素。通常ASP.NET網(wǎng)頁的文件擴(kuò)展名為.aspx,靜態(tài)HTML文件的擴(kuò)展名為.htm或.html。在微軟提供的Web服務(wù)器Internet信息服務(wù)(IIS)的默認(rèn)配置中,.aspx頁面由ASP.NET運(yùn)行,而.htm和.html頁面則不在服務(wù)器端運(yùn)行。雖然開發(fā)者可以使用.aspx文件擴(kuò)展名對(duì)任何HTML頁進(jìn)行重命名,然后該頁將作為ASP.NET網(wǎng)頁運(yùn)行,但如果該頁面中并不包含需要服務(wù)器處理的代碼,則會(huì)無謂地增加頁面處理的系統(tǒng)開銷。因此,在基于ASP.NET開發(fā)的過程中,應(yīng)該將動(dòng)態(tài)網(wǎng)頁的文件擴(kuò)展名設(shè)置為.aspx,而靜態(tài)網(wǎng)頁文件的擴(kuò)展名設(shè)置為.htm或.html。11.1ASP.NET網(wǎng)頁代碼模型(2)@指令A(yù)SP.NET頁通常包含一些指令,這些指令在服務(wù)器端進(jìn)行處理,通過這些指令可以設(shè)置屬性和配置信息。最常用的指令為@Page指令,該指令用來設(shè)置頁面的多個(gè)屬性,包括指定編程語言(C#或是VB.NET)、網(wǎng)頁代碼模型(單文件頁面模型或是代碼隱藏頁面模型)、調(diào)試和跟蹤選項(xiàng)、關(guān)聯(lián)的母版頁(MasterPage)信息等。

<%@PageTitle=""Language="C#"MasterPageFile="~/Site.Master"AutoEventWireup="true"CodeBehind="ProductEdt.aspx.cs"Inherits="CRMWebApp.Product.ProductEdt"%>從代碼中可以看出,該ASP.NET頁選取C#作為開發(fā)語言,采用了代碼隱藏頁面模型(隱藏的代碼文件為ProductEdt.aspx.cs),對(duì)應(yīng)的類為ProductEdt,關(guān)聯(lián)的母版頁文件為“~/Site.Master”。11.1ASP.NET網(wǎng)頁代碼模型其它常用指令如下:@Import指令:指定要在代碼中引用的命名空間。

@OutputCache指令:指定Web服務(wù)器緩存此頁面,還指定有關(guān)何時(shí)緩存該頁面、將該頁面緩存多長時(shí)間的參數(shù)。

@Implements指令:指定頁面實(shí)現(xiàn).NET接口。

@Register指令:注冊(cè)其它控件以便在頁面上使用。@Master指令:在母版頁文件中使用。@Control指令:在用戶控件文件中使用。11.1ASP.NET網(wǎng)頁代碼模型(3)form元素默認(rèn)的情況,在VS中新增一個(gè)ASP.NET頁面(WebForm頁面),自動(dòng)生成的代碼中會(huì)包含一個(gè)form元素,這個(gè)form在用戶與頁面交互并向服務(wù)器提交數(shù)據(jù)的過程中起到非常關(guān)鍵的作用。它的作用機(jī)理在后文關(guān)于“狀態(tài)管理”中會(huì)有進(jìn)一步的解釋。這個(gè)form元素在ASP.NET頁面運(yùn)行后確實(shí)會(huì)在HTML文件中生成標(biāo)準(zhǔn)的HTMLform元素,但在ASPX源代碼中需要符合以下規(guī)則:一個(gè)頁面只能包含一個(gè)form元素。

form元素必須包含runat="server"的屬性設(shè)置。需要執(zhí)行回發(fā)的服務(wù)器控件必須位于form元素之內(nèi)。

form元素中不包含action屬性。服務(wù)器將在處理該頁面時(shí)動(dòng)態(tài)設(shè)置這一屬性。11.1ASP.NET網(wǎng)頁代碼模型(4)runat="server"除了form元素,ASP.NET代碼中可以放置多種具有runat="server"屬性的服務(wù)器控件和HTML元素。我們已經(jīng)知道,在ASP.NET頁面中可以添加允許用戶與頁面交互的服務(wù)器控件,包括按鈕、文本框、列表等。這些服務(wù)器控件與HTML文件中的input元素類似,但卻是在服務(wù)器上被處理。服務(wù)器控件還引發(fā)相應(yīng)的服務(wù)器端事件,并且可以通過后臺(tái)代碼對(duì)其屬性進(jìn)行設(shè)置。ASP.NET服務(wù)器控件的標(biāo)記名稱通常以前綴asp:開頭,包含runat="server"屬性和一個(gè)可選的ID,可以使用這個(gè)ID在服務(wù)器代碼中引用該控件。

<asp:TextBoxID="TextBox1"runat="server"></asp:TextBox><asp:ButtonID="Button1"runat="server"Text="Click"OnClick="Button1_Click"/>11.1ASP.NET網(wǎng)頁代碼模型(5)服務(wù)器端代碼ASP.NET支持多種語言編寫服務(wù)器端代碼,包括C#、VisualBasic、J#、Jscript和其它支持.NET的語言。ASP.NET服務(wù)器端代碼由兩種組成:元素標(biāo)記和程序邏輯。元素標(biāo)記包括HTML標(biāo)記、服務(wù)器控件和靜態(tài)文本等;程序邏輯包括各種事件處理程序和其它代碼。如果將兩種代碼放在一個(gè).aspx文件中,則稱為單文件模型;如果兩種代碼分別放置在.aspx和.aspx.cs,則稱為代碼隱藏模型。下文中將分別介紹這兩種網(wǎng)頁代碼模型。11.1ASP.NET網(wǎng)頁代碼模型在單文件模型中,頁的標(biāo)記及其編程代碼位于同一個(gè)擴(kuò)展名為aspx的文件中。編程代碼位于<script>元素中,為了區(qū)別于HTML文件中的編程代碼塊,該<script>元素包含runat="server"屬性,即聲明此處腳本程序?qū)⒃诜?wù)器端執(zhí)行。

<asp:Button>元素中定義了Web服務(wù)器控件Button1,設(shè)置了它的呈現(xiàn)方式(設(shè)置Text屬性,即按鈕上的文字,為"Button")和行為方式(指定了它的onclick事件的處理函數(shù)為"Button1_Click"),而函數(shù)本身作為程序邏輯則被放置在<script>元素中??傊?,按鈕的定義和相關(guān)的程序邏輯雖然在一個(gè)aspx文件中,但也被清楚地分別放在不同的區(qū)域。<script>元素可以包含頁中各個(gè)控件的事件處理函數(shù)、方法、屬性等代碼。單文件模型在運(yùn)行時(shí),aspx文件會(huì)被編譯為Page類的一個(gè)派生類,并且實(shí)例化出一個(gè)頁對(duì)象而被調(diào)用,頁面中的各個(gè)控件會(huì)成為頁的數(shù)據(jù)成員。11.1ASP.NET網(wǎng)頁代碼模型<%@PageLanguage="C#"%><scriptrunat="server">voidButton1_Click(Objectsender,EventArgse){Label1.Text="Clickedat"+DateTime.Now.ToString();}</script>

<html><head><title>Single-FilePageModel</title></head><body><formrunat="server"><div><asp:Labelid="Label1"runat="server"Text="Label"></asp:Label><br/><asp:Buttonid="Button1"runat="server"onclick="Button1_Click"Text="Button"></asp:Button></div></form></body></html>11.1ASP.NET網(wǎng)頁代碼模型通過代碼隱藏模型,可以在aspx文件中保留網(wǎng)頁中元素標(biāo)記的定義和屬性設(shè)置,并在aspx.cs文件(對(duì)于VB.NET語言則為aspx.vb文件)中編寫程序邏輯。由于程序邏輯代碼沒有出現(xiàn)在aspx文件中,而是被分離和“隱藏”到aspx.cs文件中,因此,這種模型被稱為代碼隱藏模型。與單文件模式相同,最終這兩部分會(huì)被合并編譯為Page類的一個(gè)派生類。一個(gè)類被定義在兩個(gè)(甚至更多個(gè))文件中,需要編程語言支持“分部類”機(jī)制。C#語言通過partial關(guān)鍵詞提供了對(duì)分部類的支持。11.1ASP.NET網(wǎng)頁代碼模型SamplePage.aspx文件中的代碼如下:

<%@PageLanguage="C#"CodeFile="SamplePage.aspx.cs"Inherits="SamplePage"AutoEventWireup="true"%><html><headrunat="server"><title>Code-BehindPageModel</title>

</head><body><formid="form1"runat="server"><div><asp:Labelid="Label1"runat="server"Text="Label"></asp:Label><br/><asp:Buttonid="Button1"runat="server"onclick="Button1_Click"Text="Button"></asp:Button></div></form></body></html>11.1ASP.NET網(wǎng)頁代碼模型SamplePage.aspx.cs文件中的代碼如下:

usingSystem;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;publicpartialclassSamplePage:System.Web.UI.Page{protectedvoidButton1_Click(objectsender,EventArgse){Label1.Text="Clickedat"+DateTime.Now.ToString();}}11.2Page類及頁生命周期Page類提供了由.aspx文件創(chuàng)建頁面內(nèi)所有對(duì)象的基本行為。由于Page類實(shí)現(xiàn)了IHttpHandler接口,可以作為HTTP請(qǐng)求的處理程序。Page的父類TemplateControl定義了頁面(或控件)的基本功能,TemplateControl類的父類Control類定義了ASP.NET服務(wù)器端元素(包括頁面、控件和用戶控件)共享的屬性、方法和事件。同時(shí),TemplateControl類還實(shí)現(xiàn)了INamingContainer接口,使得Page類可以作為控件的容器。11.2Page類及頁生命周期在Page類的屬性中,有幾個(gè)常用的內(nèi)置對(duì)象,包括:Request、Response、Application和Session等,它們會(huì)參與頁面的運(yùn)行和頁面之間的信息傳遞。ASP.NET頁面從被客戶端請(qǐng)求、到運(yùn)行、再到卸載的過程稱為頁的生命周期,在此期間,頁將執(zhí)行一系列處理步驟。了解頁生命周期可以幫助開發(fā)者在生命周期的合適階段編寫代碼以達(dá)到預(yù)期效果。11.2Page類及頁生命周期從客戶端請(qǐng)求開始,頁要經(jīng)歷以下一系列階段:頁請(qǐng)求:頁請(qǐng)求是指用戶通過瀏覽器向服務(wù)器請(qǐng)求特定的ASP.NET頁。Web服務(wù)器將根據(jù)情況判斷是否需要編譯、是否發(fā)送緩存或者需要執(zhí)行頁面程序。開始:在開始階段將設(shè)置頁的多個(gè)屬性,包括Request、Response、IsPostBack等屬性。頁初始化:頁初始化期間將設(shè)置頁中的控件UniqueID屬性,將主題應(yīng)用于頁。加載:加載期間,判斷如果當(dāng)前請(qǐng)求是回發(fā)請(qǐng)求,則將根據(jù)之前的視圖狀態(tài)和控件狀態(tài)恢復(fù)控件屬性。驗(yàn)證:在驗(yàn)證期間,將調(diào)用所有驗(yàn)證程序控件的Validate方法,以設(shè)置控件和頁的IsValid屬性?;匕l(fā)事件處理:如果請(qǐng)求是回發(fā)請(qǐng)求,則將調(diào)用所有事件處理程序。呈現(xiàn):在呈現(xiàn)之前,會(huì)針對(duì)該頁和所有控件保存視圖狀態(tài),以供下一次回發(fā)時(shí)使用。卸載:完全呈現(xiàn)頁并已將頁發(fā)送至客戶端。將頁面執(zhí)行過程中產(chǎn)生的內(nèi)置對(duì)象和其它數(shù)據(jù)成員進(jìn)行刪除,釋放內(nèi)存空間。11.3ASP.NET的事件驅(qū)動(dòng)模型基于面向?qū)ο蟪绦虻某绦蛟O(shè)計(jì)語言和開發(fā)環(huán)境大多支持事件驅(qū)動(dòng)模型,該模型可以使開發(fā)人員將主要的精力集中于針對(duì)程序運(yùn)行的狀態(tài)做出響應(yīng)。比如在一個(gè)游戲中,玩家的下一個(gè)操作是很難預(yù)計(jì)的,程序只能根據(jù)發(fā)生的事件做出對(duì)應(yīng)的處理。事件(Event)是一個(gè)信號(hào),它告知應(yīng)用程序有重要情況發(fā)生。例如,用戶單擊窗體上的某個(gè)控件時(shí),窗體可能會(huì)引發(fā)一個(gè)Click事件并調(diào)用一個(gè)處理該事件的過程。參考前面“Default.aspx”文件中的一行代碼:<asp:ButtonID="Button1"runat="server"OnClick="Button1_Click"Text="Button"/>

其中Onclick就是一個(gè)事件,當(dāng)按鈕被點(diǎn)擊時(shí)產(chǎn)生事件。11.3ASP.NET的事件驅(qū)動(dòng)模型(1)執(zhí)行效率由于大多數(shù)ASP.NET服務(wù)器控件事件需要瀏覽器和服務(wù)器的往返行程才能進(jìn)行處理,因此這些事件可能會(huì)影響頁面的響應(yīng)速度。為了避免產(chǎn)生過于頻繁的瀏覽器、服務(wù)器之間的數(shù)據(jù)交換,ASP.NET服務(wù)器控件不支持類似onmouseover這類事件,如果Web應(yīng)用程序需要響應(yīng)這類事件以構(gòu)建所需的用戶體驗(yàn),則需要在瀏覽器端使用JavaScript進(jìn)行程序設(shè)計(jì)。11.3ASP.NET的事件驅(qū)動(dòng)模型(2)事件參數(shù)基于服務(wù)器的ASP.NET頁和控件事件遵循.NETFramework事件處理程序方法的標(biāo)準(zhǔn)模式,所有事件都傳遞兩個(gè)參數(shù):表示引發(fā)事件的事件發(fā)送器對(duì)象,以及包含各種特定信息的事件對(duì)象。第二個(gè)參數(shù)通常是EventArgs類型,但對(duì)于某些控件而言是特定于該控件的類型。例如,對(duì)于ImageButton控件,第二個(gè)參數(shù)是ImageClickEventArgs類型,它包括有關(guān)用戶單擊位置的坐標(biāo)的信息。11.3ASP.NET的事件驅(qū)動(dòng)模型(3)服務(wù)器控件中的回發(fā)和非回發(fā)事件在服務(wù)器控件中,一些事件(比如Click事件)將會(huì)立即引發(fā)Form的提交,并將Form中各參數(shù)的值傳遞給服務(wù)器。通常這種Form提交都是指向當(dāng)前頁面本身,所以實(shí)際上是一種“回發(fā)”。另一些事件(如TextBox控件的Change事件)不會(huì)立即導(dǎo)致Form被提交,它們?cè)谙乱淮伟l(fā)生提交操作時(shí)引發(fā)。有時(shí)我們希望自己控制某個(gè)服務(wù)器控件的事件是否立即回發(fā)。比如,我們通過網(wǎng)頁中的一系列CheckBox控件來收集用戶的興趣選項(xiàng),我們希望當(dāng)用戶點(diǎn)擊多個(gè)選項(xiàng)后再通過提交按鈕一次性提交到服務(wù)器端;有時(shí)我們卻希望當(dāng)用戶點(diǎn)擊CheckBox控件按鈕改變狀態(tài)是立即在頁面上做出反應(yīng),因此希望CheckBox控件的CheckedChanged事件能夠立即回發(fā)。默認(rèn)情況下,CheckBox控件的CheckedChanged事件不會(huì)導(dǎo)致該頁被提交。但是,如果將控件的AutoPostBack屬性設(shè)置為true,則一旦用戶單擊該復(fù)選框,該頁面便會(huì)立即被發(fā)送到服務(wù)器進(jìn)行處理。11.3ASP.NET的事件驅(qū)動(dòng)模型(4)轉(zhuǎn)發(fā)的事件GridView服務(wù)器控件是在設(shè)計(jì)數(shù)據(jù)庫應(yīng)用程序時(shí)最常用的控件之一,它包含了一個(gè)類似表格的區(qū)域,里面可以呈現(xiàn)多行、多列數(shù)據(jù)。通過程序設(shè)計(jì),在GridView的表格中還可以包含按鈕這一類控件,在這種情況下,并不會(huì)導(dǎo)致每個(gè)按鈕各自引發(fā)一個(gè)事件,而是來自嵌套控件的事件被轉(zhuǎn)發(fā)到容器控件。然后,容器通過事件的參數(shù)來區(qū)分具體的情況,可以避免為每一個(gè)嵌套控件編寫單獨(dú)的事件處理程序??傊?,對(duì)于事件的響應(yīng)方式會(huì)直接影響到Web程序的性能,程序員可以結(jié)合瀏覽器端技術(shù)優(yōu)化用戶體驗(yàn),要綜合考慮開發(fā)效率和執(zhí)行效率的平衡問題。11.3ASP.NET的事件驅(qū)動(dòng)模型(5)事件與處理函數(shù)的綁定事件消息與特定函數(shù)之間的綁定是通過事件委托來實(shí)現(xiàn)的。在設(shè)計(jì)時(shí),開發(fā)者可以在控件標(biāo)記中指定事件處理函數(shù),例如下面代碼中,將Button的OnClick事件綁定到名為Button1_Click的函數(shù)上。

<asp:ButtonID="Button1"runat="server"OnClick="Button1_Click"Text="Button"/>如果控件本身是在頁面運(yùn)行時(shí)中通過代碼動(dòng)態(tài)創(chuàng)建的,則不能使用上述綁定方法,因?yàn)樵谠O(shè)計(jì)時(shí)還沒有該控件的引用。11.4Request屬性Page.Request屬性是HttpRequest類的實(shí)例對(duì)象,Request中包含了有關(guān)當(dāng)前HTTP請(qǐng)求的信息。通過Request可以獲得瀏覽器在Web請(qǐng)求期間發(fā)送的值,這些值有的是用戶的輸入,有的是客戶端本身的信息。瀏覽器向服務(wù)器提交數(shù)據(jù)的方式分為兩種,POST和GET。在POST方式中,數(shù)據(jù)是存在于請(qǐng)求報(bào)文體當(dāng)中;另一種是通過GET方式,即所傳輸數(shù)據(jù)是在URL上直接輸入的查詢字符串來表達(dá)。由于兩種方式的機(jī)理有所不同,所以對(duì)應(yīng)到Request獲取這些數(shù)據(jù)的方法就有所區(qū)別。11.4Request屬性如果瀏覽器采用POST方式傳遞數(shù)據(jù),即在HTML中有如下的語句:<formmethod="POST"action="WebForm1.aspx"><inputid="text1"name="abc"type="text"/><inputid="button1"type="submit"value="提交"/></form>則在服務(wù)器端WebForm1.aspx文件中需要使用下面的語句來獲取數(shù)據(jù):Request.Form["abc"]如果瀏覽器采用GET方式傳遞數(shù)據(jù),即在HTML中有如下的語句:http:///WebForm1.aspx?abc=111則在服務(wù)器端需要使用下面的語句來獲取數(shù)據(jù):Request.QueryString["abc"]11.4Request屬性為了方便代碼的書寫,Request還提供了通用的獲取方式,寫法如下:Request["abc"]即,無論那種參數(shù)傳遞方式,用上面的寫法都可以得到名為“abc”的參數(shù)值。由于沒有指定具體的集合類型屬性,可能會(huì)對(duì)查詢的效率帶來影響。11.4Request屬性RequestHTMLPage.htm文件的代碼如下:<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="/1999/xhtml"><head><title></title></head><body><formmethod="post"action="RequestForm.aspx"><inputid="text1"name="abc"type="text"/><inputid="button1"type="submit"value="提交"/></form></body></html>11.4Request屬性RequestForm.aspx.cs文件的代碼如下:protectedvoidPage_Load(objectsender,EventArgse){//獲取用戶輸入的信息Response.Write("用戶輸入信息為:"+Request.Form["abc"]+"<BR/>");

//獲取瀏覽器端的信息Response.Write("客戶端IP:"+Request.UserHostAddress+"<BR/>");Response.Write("瀏覽器:"+Request.Browser.Browser+"<BR/>");Response.Write("瀏覽器版本:"+Request.Browser.Version+"<BR/>");Response.Write("瀏覽器類型:"+Request.Browser.Type+"<BR/>");Response.Write("客戶端操作系統(tǒng):"+Request.Browser.Platform+"<BR/>");Response.Write("是否支持Java:"+Request.Browser.JavaApplets+"<BR/>");Response.Write("是否支持框架網(wǎng)頁:"+Request.Browser.Frames+"<BR/>");Response.Write("是否支持Cookie:"+Request.Browser.Cookies+"<BR/>");Response.Write("JScript版本:"+Request.Browser.JScriptVersion+"<BR/>");Response.Write("請(qǐng)求的虛擬路徑:"+Request.Path+"<BR/>");Response.Write("瀏覽器類型和版本:"+Request.ServerVariables["HTTP_USER_AGENT"]+"<BR/>");Response.Write("用戶的IP地址:"+Request.ServerVariables["REMOTE_ADDR"]+"<BR/>");Response.Write("請(qǐng)求的方法:"+Request.ServerVariables["REQUEST_METHOD"]+"<BR/>");

}11.5Response屬性Page.Response屬性是HttpResponse類的實(shí)例對(duì)象,該對(duì)象可以將HTTP響應(yīng)數(shù)據(jù)發(fā)送到客戶端,并包含有關(guān)該響應(yīng)的相關(guān)信息。HttpResponse封裝了頁面執(zhí)行后返回到瀏覽器的輸出,即是HTTP響應(yīng)報(bào)文數(shù)據(jù)。Write函數(shù)的使用方法可以參考前文中的RequestForm.aspx.cs文件。下面例子展示了如何使用Redirect函數(shù)實(shí)現(xiàn)頁面的跳轉(zhuǎn)。首先在頁面中放置DropDownList控件,其中預(yù)先設(shè)置多個(gè)選項(xiàng)。當(dāng)用戶選擇其中選項(xiàng)并點(diǎn)擊按鈕提交后,程序?qū)⑼ㄟ^判斷選項(xiàng)的值來確定調(diào)整的頁面。11.5Response屬性RedirectForm.aspx

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論