李婭 馬章勤
摘 要:ASP.NET中Response.Write()方法在是初學(xué)階段經(jīng)常使用的一條輸出語句。在Response.Write()方法中隱含著ASP.NET的很多基礎(chǔ)知識(shí)。初學(xué)者在總結(jié)和實(shí)踐的過程中會(huì)得到很多的收獲。
關(guān)鍵詞:ASP.NET技術(shù)WebResponse.Write
中圖分類號(hào):TP392 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098x(2012)06(b)-0029-01
近幾年,隨著網(wǎng)絡(luò)的迅猛發(fā)展和上網(wǎng)成本的降低,中國(guó)的網(wǎng)民數(shù)量迅速增長(zhǎng)。在日常生活中,人們已經(jīng)習(xí)慣于有事情先在網(wǎng)上搜索。很多企業(yè)、機(jī)構(gòu)逐漸重視網(wǎng)絡(luò)帶來的商機(jī),開始著手創(chuàng)建門戶網(wǎng)站。這樣的社會(huì)背景就催生出大量的網(wǎng)站開發(fā)人才需求。
ASP.NET是微軟公司推出的企業(yè)級(jí)的B/S(瀏覽器/服務(wù)器)模式的Web應(yīng)用程序的開發(fā)平臺(tái)。與以往的類似技術(shù)相比,具有開發(fā)效率高、支持多種開發(fā)語言、使用簡(jiǎn)單、運(yùn)行速度快等特點(diǎn),是微軟公司構(gòu)建的高交互性網(wǎng)站開發(fā)技術(shù)的旗艦技術(shù)。目前,Internet上越來越多的網(wǎng)站特別是大型網(wǎng)站都是采用ASP.NET技術(shù)開發(fā)。
鑒于這樣的社會(huì)趨勢(shì)和技術(shù)發(fā)展,很多學(xué)校和培訓(xùn)機(jī)構(gòu)都開設(shè)了基于ASP.NET技術(shù)的相關(guān)課程。
在一般的教材中,一般會(huì)使用輸出“Hello World!”作為第一個(gè)網(wǎng)頁教授初學(xué)者如何創(chuàng)建基于.NET平臺(tái)的動(dòng)態(tài)網(wǎng)頁。所以,Response.Write(”Hello World!”);語句是初學(xué)者見到的一條語句。這樣看似簡(jiǎn)單的一條輸出語句,其中卻隱含著大量的知識(shí)。在一般的教材中僅僅將其作為輸出工具使用,沒有將其常用的方法總結(jié)。同時(shí),在實(shí)際網(wǎng)站開發(fā)中,Response.Write()還有不足的地方。初學(xué)者如果只是教條地使用,不注重總結(jié)和發(fā)現(xiàn)問題,往往會(huì)忽略ASP.NET技術(shù)中的基礎(chǔ)性知識(shí)的學(xué)習(xí)。
1 Response的介紹
提高網(wǎng)絡(luò)程序的開發(fā)效率是ASP.NET力求的原則。為此,ASP.NET提供了一些內(nèi)置對(duì)象。ASP.NET的基本對(duì)象是程序設(shè)計(jì)中使用最頻繁的元素。
在ASP.NET中,有五個(gè)常用內(nèi)置對(duì)象,它們是Request對(duì)象、Response對(duì)象、Server對(duì)象、Application對(duì)象和Session對(duì)象。這些對(duì)象用來維護(hù)有關(guān)當(dāng)前應(yīng)用程序、每個(gè)用戶會(huì)話、當(dāng)前HTTP請(qǐng)求、請(qǐng)求的Web窗體頁等信息,主要用于與用戶的交互。因此,他們?cè)贏SP.NET應(yīng)用程序扮演非常重要的角色。
在ASP.NET中,HTTP相應(yīng)信息一般都封裝在HttpResponse類中。Response對(duì)象用于將氏故居從服務(wù)器發(fā)送回瀏覽器。它允許將數(shù)據(jù)作為請(qǐng)求的結(jié)果發(fā)送到瀏覽器中,并提供相關(guān)響應(yīng)的信息。Response對(duì)象可以用來在頁面中輸入數(shù)據(jù)、在頁面中跳轉(zhuǎn)、在各個(gè)頁面中傳遞參數(shù)。Response對(duì)象與HTTP協(xié)議的相應(yīng)消息相對(duì)應(yīng)。
2 Response.Write()用法靈活
Response.Write()的功能是將數(shù)據(jù)輸出到客戶端。無論程序功能大小與否,解決問題的步驟基本可以分解成“輸入——處理——輸出”三部分來處理。將“處理”結(jié)果輸出到瀏覽器中是非常關(guān)鍵的環(huán)節(jié)。Response.Write()的使用方法非常靈活并且易于掌握,初學(xué)者在學(xué)習(xí)時(shí)會(huì)經(jīng)常用該方法處理輸出。
2.1 輸出字符串常量
Response.Write(”Hello World!”);
在網(wǎng)頁上直接輸出字符串常量:Hello World!,這是最簡(jiǎn)單的用法。
2.2 輸出變量
int num=100;
Response.Write(num);
在網(wǎng)頁上輸出變量num的值:100。由于這種輸出信息的形式?jīng)]有良好的提示性信息,一般只有做驗(yàn)證代碼的時(shí)候運(yùn)用這樣的形式。
2.3 輸出常量+變量
Response.Write("今天是:"+DateTime.Now);
在網(wǎng)頁上輸出:今天是2012-1-1。這種形式的信息輸出在學(xué)習(xí)的初級(jí)階段經(jīng)常會(huì)用到。這種形式既有提示性信息“今天是:”又有變量的值。在這條語句中還隱含字符串連接的“+”運(yùn)算。這讓輸出的信息變得完整,有提示性。
2.4 與Html結(jié)合
Response.Write(”這是第一段。”);
Response.Write(”這是第二段。”);
在網(wǎng)頁上的輸出結(jié)果是:
這是第一段。這是第二段。
輸出的內(nèi)容是在一行中顯示的,沒有實(shí)現(xiàn)分段的效果。如果要實(shí)現(xiàn)分段,應(yīng)在代碼中加入
。Response.Write(”這是第一段。
這是第二段。”);
在網(wǎng)頁上的輸出結(jié)果是:
這是第一段。
這是第二段。
3 與腳本代碼結(jié)合
Response.Write("");
在網(wǎng)頁上會(huì)彈出如下消息框(如圖1)。
Response.Write("");
可以鏈接到Second.aspx網(wǎng)頁。打開網(wǎng)頁的形式是原網(wǎng)頁不關(guān)閉,在新的界面中打開Second.aspx網(wǎng)頁。這與Dreamweaver中_blank的使用方法是一致的。
4 Response.Write()方法的不足
Response.Write()方法雖然使用起來非常靈活,在學(xué)習(xí)的初級(jí)階段能夠很快地看到很多輸出的效果,但是在實(shí)際開發(fā)網(wǎng)站時(shí)要謹(jǐn)慎使用。
現(xiàn)在的網(wǎng)站普遍采用CSS+DIV進(jìn)行網(wǎng)頁頁面的布局與美化。例如,使用Response.Write("");當(dāng)點(diǎn)擊命令按鈕后,調(diào)用該語句,當(dāng)點(diǎn)擊提示框的"確定"后,會(huì)發(fā)現(xiàn)頁面的CSS樣式表丟失字體、字體變大、頁面的框架不正常。
這時(shí)可以使用語句Page.ClientScript.RegisterClientScriptBlock(this.GetType(),"名稱","" );來替代Response.Write()語句。這樣就不會(huì)產(chǎn)生CSS樣式丟失的問題了。
Response.Write()語句是ASP.NET中使用比較頻繁的輸出語句。學(xué)習(xí)者如果能夠多加總結(jié),可以通過Response.Write()語句延伸出很多ASP.NET的知識(shí)。
參考文獻(xiàn)
[1] 李一唯.動(dòng)態(tài)網(wǎng)頁技術(shù)ASP,ASP.NET與JSP的比較分析[J].數(shù)字技術(shù)與應(yīng)用,2011年9月.
[2] 王學(xué)卿.動(dòng)態(tài)Web開發(fā)技術(shù)——ASP.NET[M].北京:中國(guó)鐵道出版社,2009年12月.