




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第第10章章 Web應用程序開發(fā)應用程序開發(fā)ASP.NET是Microsoft的新一代服務器端技術(shù),是.NET框架的一部分。運用C#可以創(chuàng)建Web應用程序。本章將介紹ASP.NET的基本概念及如何使用ASP.NET建立Web應用程序。10.1 ASP.NET簡介簡介10.1.1 編輯編輯ASP.NET程序程序由于ASP.NET是一種服務器端的技術(shù), ASP.NET代碼的運行必須是在Web服務器上。發(fā)布ASP.NET程序的條件: Web服務器安裝的軟件:.NET Framework SDK以及IIS。 發(fā)布ASP.NET程序的目錄:可以將ASP.NET程序代碼保存在IIS根目錄下,也可以存放在虛
2、擬目錄中。10.1.1 編輯編輯ASP.NET程序程序IIS的安裝,可以在控制面板“添加/刪除程序”中的“添加/刪除Windows組件”,選擇“Internet信息服務(IIS)”,選擇“下一步”直到完成。顯示如圖10.1所示 圖圖10.1 IIS安裝安裝10.1.1 編輯編輯ASP.NET程序程序需要說明的是.NET 安裝的順序應該是先裝IIS,再裝VS.NET,如果次序反了,或者IIS重裝了,就需要使用aspnet_regiis.exe -i來重新安裝IIS 。在C: %SystemRoot%Microsoft.NETFrameworkv1.1.4322目錄下,運行下面的命令:aspnet
3、_regiis.exe i。如圖10.2所示。圖圖10.2 IIS啟動啟動如果已經(jīng)安裝了Visual Studio.NET,則.NET Framework SDK不需要另外安裝,否則要下載安裝.NET Framework SDK包。 10.1.1 編輯編輯ASP.NET程序程序IIS默認的根目錄是“c:Inetpubwwroot”, ASP.NET代碼一般就存放在這個根目錄下。但是,ASP.NET代碼也可通過新建虛擬目錄存放在根目錄以外。選擇“管理工具”的“Internet信息服務”,將鼠標移到“默認網(wǎng)站”位置,右擊鼠標。選擇“新建” “虛擬目錄”。這里將虛擬目錄命名為ASP.NET,目錄指向
4、D:APS.NET。顯示如圖10.3所示。 圖圖10.3 建立虛擬目錄建立虛擬目錄10.1.1 編輯編輯ASP.NET程序程序下面就來新建一個ASP.NET程序。打開Visual Studio.NET,選擇“文件”“新建”“項目”,在“新建項目”窗體的項目類型選中Visual C#,右邊的模板選擇ASP.NET Web應用程序。如圖10.4所示。圖圖10.4 新建新建ASP.NET Web應用程序應用程序當然,創(chuàng)建的項目位置也可以為http:/localhost,項目實際存放在目錄“c:Inetpubwwwroot”。將項目名改為Multiply。 10.1.1 編輯編輯ASP.NET程序程序
5、逐個添加控件,這個過程與Windows添加控件過程相同。在“視圖”“工具箱”,選擇“Web窗體”,將控件拖入頁面。每一個控件的左上角都有一個小的綠箭頭,表示它是一個Web控件。ASP.NET的控件分為兩類:HTML控件和Web控件,在后面將作較詳細的講解。將WebForm1.aspx重命名為Multiply.aspx。頁面控件設置如表10.1所示。 表表10.1 屬性修改屬性修改10.1.1 編輯編輯ASP.NET程序程序雙擊EqualButton控件,為EqualButton添加Click事件,如下所示:private void EqualButton_Click(object sender
6、, System.EventArgs e)ResultLabel.Text=(double.Parse(NumberText1.Text)*double.Parse(NumberText2.Text).ToString();生成解決方案后運行,顯示如圖10.5所示。圖圖10.5 Multiply的運行頁面的運行頁面10.1.1 編輯編輯ASP.NET程序程序Multiply項目文件夾中生成文件的擴展名及說明如表10.2所示。表表10.2 ASP.NET擴展名擴展名10.1.2 ASP.NET程序結(jié)構(gòu)程序結(jié)構(gòu)為了更深入了解ASP.NET,下面分析Multiply.aspx和Multiply.as
7、px.cs的代碼。如果將Web窗體設計器中的Multiply.aspx從“設計”轉(zhuǎn)換到“HTML”視圖,看到的文件非常類似于HTML文件,但與HTML文件又不同?!纠纠?0.1】ASP.NET的頁面文件Multiply.aspxWebForm1【例【例10.1】 Number1 Number2 *【例【例10.1】 【例【例10.1】與HTML文件不同之處在于: 上述代碼中第一行:Page language=c#表明了采用編程語言為C#,ASP.NET代碼也可以采用其它的編程語言,如VB或JScript語言。對應的C#程序文件為Multiply.aspx.cs、對應的代碼類為Multiply
8、.WebForm1(Inherits=Multiply.WebForm1)。Multiply.aspx都是標記語言,所有的程序代碼都放在了Multiply.aspx.cs中,ASP.NET這種形式的代碼與頁面文件的分離,是非常有好處的。 Multiply.aspx中標簽Label、按鈕Button、文本框TextBox之前都加上了前綴“asp:”,表明它們是服務器控件,區(qū)別于ASP.NET以前的靜態(tài)HTML,也區(qū)別于ASP.NET的一般HTML控件。每一個服務器控件都有runat=“server”,HTML控件也具有這樣的屬性,表明它們運行于服務器端,且擁用各種可編程屬性及事件。 10.1.2
9、 ASP.NET程序結(jié)構(gòu)程序結(jié)構(gòu)【例【例10.2】ASP.NET頁面的代碼文件Multiply.aspx.csusing System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls; / 包含一些必
10、需的系統(tǒng)類庫【例【例10.2】namespace Multiply / Multiply命名空間/ / WebForm1 的摘要說明。/ public class WebForm1 : System.Web.UI.Page / WebForm1類從System.Web.UI.Page類繼承而來 / System.Web.UI.HTMLControls包含了HTML控件的類 / System.Web.UI.WebControls包含了各種服務器控件 protected System.Web.UI.WebControls.Label NumberLabel1; protected System.W
11、eb.UI.WebControls.Label NumberLabel2; protected System.Web.UI.WebControls.TextBox NumberText1; protected System.Web.UI.WebControls.Label MultiplyLabel; protected System.Web.UI.WebControls.TextBox NumberText2; protected System.Web.UI.WebControls.Label ResultLabel;【例【例10.2】 protected System.Web.UI.Web
12、Controls.Button EqualButton; / 定義了頁面各個服務器控件private void Page_Load(object sender, System.EventArgs e)/ 在此處放置用戶代碼以初始化頁面#region Web 窗體設計器生成的代碼override protected void OnInit(EventArgs e)/ CODEGEN: 該調(diào)用是 ASP.NET Web 窗體設計器所必需的。InitializeComponent();base.OnInit(e);/ / 綁定頁面,并指定事件處理方法來控制事件。不必編寫事件綁定代碼, 【例【例10.
13、2】 / 使用Visual Studio.NET的Web窗體設計器,事件綁定代碼是雙擊處理程序的控件 / 所生成代碼的一部分。 private void InitializeComponent() this.EqualButton.Click += new System.EventHandler(this.EqualButton_Click); this.Load += new System.EventHandler(this.Page_Load); #endregion / EqualButton按鈕的Click事件處理函數(shù),相加并顯示結(jié)果 private void EqualButton_
14、Click(object sender, System.EventArgs e) ResultLabel.Text=(double.Parse(NumberText1.Text)*double.Parse (NumberText2.Text).ToString();【例【例10.2】可以看出,ASP.NET頁面所對應的服務器端代碼與在Win Form中所用到的C#代碼在結(jié)構(gòu)上幾乎一模一樣,都有名字空間、類等等,是完全的面向?qū)ο蟮拇a結(jié)構(gòu)。這樣的結(jié)構(gòu),大大減小了網(wǎng)頁設計與一般Win Form程序設計的差異,它們的設計過程都可以概括成以下模式: 將控件拖入頁面,修改屬性及ID。 添加控件的事件處理
15、方法,修改各控件的屬性表現(xiàn),完成功能并顯示結(jié)果。上面用的是Viusal Stdio.NET創(chuàng)建了ASP.NET程序,實現(xiàn)了頁面與后臺編碼的分離。頁面與編碼分離的另外一種形式稱為代碼內(nèi)聯(lián)。在EditPlus,UltrEdit或記事本中輸入下面的代碼,另存為Multiply.aspx。 10.1.2 ASP.NET程序結(jié)構(gòu)程序結(jié)構(gòu)【例【例10.3】Multiply.aspx代碼內(nèi)聯(lián)。void EqualButton_Click(object sender, System.EventArgs e) ResultLabel.Text=(double.Parse(NumberText1.Text)*do
16、uble.Parse (NumberText2.Text).ToString();WebForm1【例【例10.3】 * 從程序看到,相關(guān)的標記與C#編寫的代碼同在一個.aspx文件中。頁面的內(nèi)容存在于中,代碼則位于中,也實現(xiàn)頁面與編碼的分離,結(jié)構(gòu)非常清晰。 10.1.3 ASP.NET的特點的特點除了前面提到了提高程序面向?qū)ο蟪潭?,減少網(wǎng)頁程序設計與窗體程序設計的差異外,采用ASP.NET相對于ASP, 它具有如下主要特點: 功能強大ASP.NET是Microsoft .NET框架的一部分,可以在代碼中訪問幾千個.NET類庫,從而具有比ASP更強大的功能。 用戶界面與商業(yè)邏輯的分離ASP.N
17、ET中,頁面文件(用戶界面)與程序代碼(商業(yè)邏輯)分別存于不同的文件中,這樣很方便程序的編輯和維護。當商業(yè)邏輯發(fā)生變化時,只要修改程序代碼即可,頁面文件保持不變。 提高瀏覽速度用ASP.NET書寫的頁面在第一次被訪問時會被IIS編譯,并在內(nèi)存中保留編譯副本,當以后訪問頁面時,由于頁面已經(jīng)被編譯過,所以,就會直接執(zhí)行編譯過的代碼,從而速度為大為改進。當然,由此而造成的“后果”是第一次訪問非常慢。 支持多種編程語言以前在網(wǎng)頁設計中,大多只能選擇Java、VB腳本,還有一些Perl作為編程語言。ASP.NET打破了這種限制。事實上,在ASP.NET中,可以選擇C#、C+、VB甚至Delphi、Cob
18、ol等作為程序設計語言。 ASP.NET頁面是基于服務器控件構(gòu)建的Web服務器控件允許使用直觀的對象模型來表現(xiàn)和編程,而不再使用HTML元素。10.2 Web Form10.2.1 Web Form基礎基礎ASP.NET中Web Form指的是一個Web頁面,它好像是一個容器,包容了各種控件。有的翻譯成Web表單,容易與標記混淆,所以在本書中一般指Web頁面。一個頁面都是以.aspx為擴展名,如Multiply.aspx。在Web頁面中,可以對各種控件建立對應的事件。在上一節(jié)中,Button控件的單擊Click事件,事件代碼則執(zhí)行兩個數(shù)的相乘。下面再舉個例子?!纠纠?0.4】ASP.NET事
19、件。void Button1_Click(Object sender, EventArgs e) Message.Text=Hello World!;EventShow.aspx 【例【例10.4】 單擊按鈕查看消息 【例【例10.4】運行結(jié)果如圖10.6所示:圖圖10.6 EventShow運行頁面運行頁面10.2.2頁面事件頁面事件在ASP.NET中,除了控件具有事件外,每次ASP.NET頁面在運行時,也會觸發(fā)Page對象的事件。如表10.3所示。表表10.3 page對象的事件對象的事件【例【例10.5】頁面事件。/ Page對象的Load事件void Page_Load(Object
20、sender , EventArgs e) Message.Text += 發(fā)生Page對象的Load事件;/ Page對象的Init事件void Page_Init(Object sender , EventArgs e)【例【例10.5】 Message.Text += 發(fā)生Page對象的Init事件;/ Page對象的PreRender事件void Page_PreRender(Object sender , EventArgs e) Message.Text += 發(fā)生Page對象的PreRender事件;/ Page對象的Unload事件void Page_Unload(Object
21、 sender , EventArgs e) Message.Text += 發(fā)生Page對象的Unload事件;void Button_Click(Object sender , EventArgs e) Message.Text += 用戶單擊確定按鈕,;【例【例10.5】PageMessage.aspx【例【例10.5】點擊“確定”按鈕前頁面如圖10.7所示。 圖圖10.7 點擊確定按鈕前頁面點擊確定按鈕前頁面【例【例10.5】點擊“確定”按鈕后頁面如圖10.8所示:圖圖10.8 點擊確定按鈕后頁面點擊確定按鈕后頁面10.2.3 IsPostBack屬性屬性與eb頁面緊密聯(lián)系的還有pag
22、e對象的一個重要屬性:IsPostBack。Load事件與IsPostBack屬性相結(jié)合使用,一般用來檢查是不是第一次加載Web頁面,在此基礎上就可以控制程序的流向?!纠纠?0.6】IsPostBack屬性示例。void Page_Load(Object sender , EventArgs e) if (IsPostBack=true) Label1.Text= IsPostBack等于true,客戶端已經(jīng)發(fā)回數(shù)據(jù); else Label1.Text= IsPostBack等于false,第一次打開網(wǎng)頁;【例【例10.6】PageIsPostBack.aspx 【例【例10.6】點擊“確定
23、”按鈕前頁面如圖10.9所示:圖圖10.9 PageIsPostBack.aspx點擊確定按鈕后頁面點擊確定按鈕后頁面 【例【例10.6】點擊“確定”按鈕后頁面如圖10.10所示:圖圖10.10 PageIsPostBack.aspx點擊確定按鈕后頁面點擊確定按鈕后頁面10.3 HTML控件控件ASP.NET一共有五十多種控件,分成兩大類:HTML控件和服務器控件。在每一種普通HTML標記的未尾加上runat=”Server”就成HTML標記的服務器版,因此HTML控件都對應了標準的HTML標記。ASP.NET引入HTML控件的目的就是為了可以將現(xiàn)有的HTML文件簡單地轉(zhuǎn)換成ASP.NET的頁
24、面。 例如:對應HTML標記的HTML控件HTMLImage用法:HTML控件不再使用NAME屬性,而是使用ID屬性;Runat表示這是服務器端控件,不再是標準的HTML標記。10.3 HTML控件控件表表10.4 HTML控件與標準的控件與標準的HTML標記的對應關(guān)系表標記的對應關(guān)系表10.3 HTML控件控件【例【例10.7】Span的使用。/ 用戶單擊確定按鈕的處理事件void Button_Click(object sender, EventArgs e)/利用HTML控件的Value方法,獲取用戶輸入的數(shù)據(jù)Show1.InnerText = UserName.Value;SpanEx
25、ample.aspx請輸入姓名:【例【例10.7】 輸入的用戶姓名是:按“確定”按鈕后頁面如圖10.11所示:圖圖10.11 SpanExample.aspx運行頁面運行頁面10.3 HTML控件控件【例【例10.8】HTML控件舉例。/用戶單擊確定按鈕的處理事件void Button_Click(object sender, EventArgs e) / 利用HTML控件的Value方法,獲取用戶輸入的數(shù)據(jù)Show1.InnerText = UserName.Value;Show2.InnerText = UserPassword.Value;HtmlExample.aspx【例【例10.8
26、】 請輸入姓名:請輸入密碼:用戶輸入的姓名是:用戶輸入的密碼是:【例【例10.8】運行結(jié)果如圖10.12所示。圖圖10.12 HtmlExample.aspx運行頁面運行頁面10.4 服務器控件服務器控件HTML控件是為了將以前的標準HTML標記快速轉(zhuǎn)換成ASP.NET頁面。ASP.NET的服務器控件是全新設計的,是HTML的改進,使得它更精確、功能更強大。服務器控件使用的格式:更簡單的寫法:asp:是服務器控件的固定寫法;TextBox表明使用的是TextBox服務器控件;id是控件的名稱;Width和Height指控件顯示的寬度和高度;runat表明是在服務器端處理。服務器控件可以分成以下
27、幾種: 10.4 服務器控件服務器控件1. 基本服務器控件基本服務器控件可以用基本服務器控件創(chuàng)建標準HTML標記的服務器端版本,以取代HTML控件?;痉掌骺丶绫?0.5所示。表表10.5 基本服務器控件基本服務器控件1. 基本服務器控件基本服務器控件上述控件允許設置字體、顏色、邊框和樣式等屬性,常用的屬性如表10.6所示: 表表10.6 基本服務器控件的常用屬性基本服務器控件的常用屬性10.4 服務器控件服務器控件2. Web驗證控件驗證控件為了能夠驗證客戶在表單中輸入的數(shù)據(jù),ASP.NET引入Web驗證控件。Web驗證控件如表10.7所示。表表10.7 驗證控件驗證控件10.4 服務器
28、控件服務器控件3. 數(shù)據(jù)控件數(shù)據(jù)控件數(shù)據(jù)控件用于數(shù)據(jù)的顯示,包括DataGrid、DataList、Repeater等控件。4. 復雜控件復雜控件復雜控件包括日歷控件Calendar、廣告條顯示控件AdRotator等。5. 移動控件移動控件移動控件用于移動設備的控件,這些移動設備諸如手機和像Microsoft Pocket PC那樣的PDA(Personal Digital Assistant, 個人數(shù)字助理)等。10.4 服務器控件服務器控件【例【例10.9】Web驗證控件RangeValidator示例。 / 用戶單擊Button控件的事件處理程序 void Button1_Click(
29、Object sender , EventArgs e)String strA; if (Page.IsValid ) strA = 輸入的成績是: + Text1.Text; Show1.InnerText= strA; else Show1.InnerText = ; Web服務器控件RangeValidator【例【例10.9】輸入課程成績:【例【例10.9】運行結(jié)果頁面如圖10.13所示:圖圖10.13 RangeValidator的使用的使用10.4 服務器控件服務器控件【例【例10.10】數(shù)據(jù)控件DataGrid示例。void Page_Load(Object sender , E
30、ventArgs e)/定義數(shù)據(jù)來源DataSet對象 OleDbConnection OBJConn; OleDbDataAdapter OBJDataAdapter; String MSN=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/ tSQL=Select * From courses;OBJConn = new OleDbConnection(MSN); OBJDataAdapter = new OleDbDataAdapter(tSQL,MSN );DataSet OBJDataSet=new DataSet();【例【例10.10
31、】/將courses表填入DataSet對象 OBJDataAdapter.Fill(OBJDataSet, courses); OBJConn.Close();/設置DataGrid控件的數(shù)據(jù)來源DataGrid1.DataSource=OBJDataSet;/將DataGRid控件與數(shù)據(jù)來源連結(jié)DataGrid1.DataBind();數(shù)據(jù)控件示例DataGrid控件使用DataGrid控件顯示表【例【例10.10】 運行結(jié)果頁面如圖10.14所示。圖圖10.14 DataGrid控件顯示控件顯示Course表表10.4 服務器控件服務器控件數(shù)據(jù)控件在運行時動態(tài)地給控件的屬性賦值的過程稱為
32、數(shù)據(jù)綁定。數(shù)據(jù)綁定允許控件的屬性與數(shù)據(jù)連接,這里的數(shù)據(jù)指數(shù)據(jù)庫的數(shù)據(jù),以及屬性、方法、集合等。DataGrid數(shù)據(jù)控件以表格形式顯示綁定數(shù)據(jù)。例10.10使用DataGrid數(shù)據(jù)控件顯示student.mdb中的courses表記錄值。綁定的過程為:(1) 創(chuàng)建DataGrid所需的DataSet對象和數(shù)據(jù)來源;(2) 設置DataGrid控件的DataSource屬性:DataGrid1.DataSource=OBJDataSet;(3) 將DataGrid控件與數(shù)據(jù)來源綁定:DataGrid1.DataBind()。10.5 Web服務創(chuàng)建與應用服務創(chuàng)建與應用10.5.1 Web服務概述服
33、務概述Internet 正在向下一代 Web 站點快速演進,今天的 Web 站點僅能為瀏覽器提供用戶界面,而下一代可編程 Web 站點直接將企業(yè)、應用程序、服務和設備彼此鏈接。這些可編程 Web 站點將不只是被動訪問的站點,而將成為可重用的智能 Web 服務。Web服務是可以通過網(wǎng)絡遠程訪問類的屬性和方法。先在IIS或其它Web服務器上部署和發(fā)布的一個遠程對象實體,瀏覽器或其它分布式應用的客戶端可以通過Web服務接入文件(擴展名.asmx)訪問該遠程對象的屬性和方法。下面就來建立Hello World的Web服務?!纠纠?0.11】Hello World Web服務。using System
34、;using System.Web.Services;public class HelloWorld : WebService WebMethod public String SayHelloWorld() return Hello World; 10.5.1 Web服務概述服務概述如果文件保存在虛擬目錄ASP.NET中,則在瀏覽器輸入地址:http:/localhost/ASP.NET/HelloWorld.asmx。如圖10.15所示:圖圖10.15 HelloWorld Web服務服務 10.5.1 Web服務概述服務概述HelloWorld.asmx向外展現(xiàn)了一個方法:SayHello
35、World。點擊SayHelloWorld連接,便可以通過瀏覽器調(diào)用這一方法。如圖10.16所示:圖圖10.16 SayHelloWorld方法調(diào)用方法調(diào)用10.5.1 Web服務概述服務概述點擊調(diào)用按鈕顯示如圖10.17所示:圖圖10.17 SayHelloWorld方法調(diào)用結(jié)果方法調(diào)用結(jié)果10.5.1 Web服務概述服務概述在使用Web服務之前,并不要對Web服務文件編譯,就像一個ASP.NET頁面一樣。但是如果不想別人查看你的Web服務的源代碼,可以預編譯Web服務。將HelloWorld.asmx去掉第一行,創(chuàng)建一個標準的類文件CompiledHelloWorld.cs?!纠纠?0.
36、12】預編譯HelloWorld Web服務using System;using System.Web.Services;public class HelloWorld : WebService WebMethod public String SayHelloWorld() return Hello World; 【例【例10.12】直接用命令行方式將CompiledHelloWorld.cs編譯為CompiledHelloWorld.dll:csc /t:library /r:System.dll,System.Web.Services.dll CompiledHelloWorld.cs其中
37、引用了System.dll和System.Web.Services.dll程序集。在ASP.NET目錄下再創(chuàng)建一個新目錄/bin,將CompiledHelloWorld.dll文件拷貝到/bin目錄中。最后建立.asmx文件,引用上面已編譯的類。例如:Class特性引用/bin目錄中已編譯的HelloWorld類。在瀏覽器地址欄輸入http:/localhost/ASP.NET/CompiledHelloWorld.asmx, 得到與未編譯HelloWorld Web服務相同的效果。10.5.2 創(chuàng)建簡單的創(chuàng)建簡單的Web服務服務 【例【例10.13】攝氏溫度和華氏溫度之間的轉(zhuǎn)換TemperatureService.asmx。using Syst
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年金融租賃服務項目建議書
- 2025年半導體用石英玻璃材料項目發(fā)展計劃
- 2025年鋼增強塑料復合管項目發(fā)展計劃
- 2025年特種機載裝置合作協(xié)議書
- 性別差異下的教育心理學如何針對不同性別激發(fā)學生潛力
- 教育投資的新趨勢游戲化學習平臺的融資路徑
- 教育政策成效評估的多維度分析
- 未來科技趨勢下的教育技術(shù)增強現(xiàn)實與虛擬現(xiàn)實的融合應用研究
- 2025年甘肅省靖遠縣四中物理高一第二學期期末質(zhì)量跟蹤監(jiān)視試題含解析
- 幼兒教育中教師心理調(diào)適的技巧與方法
- 井蓋巡查管理制度
- GB/T 33490-2025展覽展示工程服務基本要求
- 2024年國能榆林化工有限公司招聘真題
- 2025年會計職業(yè)入門會計基礎知識深度解析與要點梳理
- 消防總隊面試題目及答案
- 《低鈉血癥中國專家共識(2023年版)》解讀課件
- 公司法期末考試卷及答案
- GB/T 45604-2025船舶與海洋技術(shù)大抓力平衡錨
- 國家中小學智慧教育平臺與人工智能融合應用指南(試行)
- 港口夏季四防安全培訓
- 《探索虛擬現(xiàn)實與增強現(xiàn)實技術(shù)的融合發(fā)展:課件綜述》
評論
0/150
提交評論