于 雷
(吉林廣播電視大學(xué),長(zhǎng)春 130022)
ASP.NET中頁(yè)面之間值的傳遞方法探討
于 雷
(吉林廣播電視大學(xué),長(zhǎng)春 130022)
人們?cè)谛蓍e或工作的時(shí)候,都會(huì)瀏覽網(wǎng)頁(yè)獲取知識(shí),網(wǎng)頁(yè)上的內(nèi)容很多,但是進(jìn)行網(wǎng)頁(yè)Web的開發(fā)是比較困難的,它需要進(jìn)行Web之間的值傳遞,對(duì)ASP.NET的特點(diǎn)進(jìn)行說明,以程序例子的方式分析在不同環(huán)境下值傳遞的方法,希望能為以后的學(xué)習(xí)提供一些幫助。
ASP.NET;值傳遞;面向?qū)ο螅环椒ǎ环治?/p>
ASP.NET是ASP的升級(jí)版,是微軟公司推出的新一代腳本語言,建立在微軟的平臺(tái),可以利用語言進(jìn)行服務(wù),能夠?yàn)橛脩籼峁└鼜?qiáng)大的功能,這也是一種服務(wù)于Web的框架。隨著ASP.NET的推出,使網(wǎng)絡(luò)程序變得更加的簡(jiǎn)單。ASP.NET包括兩種編程模型,分別是Web Form和Web Services,其中Web Form能提供強(qiáng)大的功能,外觀也比較豐富。Web Services可以通過HTTP、SOAP進(jìn)行支持,還可以在不同的環(huán)境下獲取更多的服務(wù),ASP.NET是基于模塊與組件的程序,它有著很好的擴(kuò)展性,在數(shù)據(jù)處理方面也應(yīng)引入一些新的科學(xué)技術(shù),這對(duì)程序的未來發(fā)展有著革新的意義,但還需要Web開發(fā)人員擁有很好的靈活性,縮短程序的開發(fā)周期,讓程序以最快的速度運(yùn)行,為企業(yè)級(jí)的商業(yè)提供穩(wěn)定、安全的運(yùn)行環(huán)境。ASP.NET主要特性是:性能強(qiáng)大、靈活、易于維護(hù),這對(duì)軟件的開發(fā)也有一定的幫助。目前,已經(jīng)有很多技術(shù)人員和用戶使用該程序,ASP.NET有很多的方法,筆者對(duì)其中幾種常用的方法進(jìn)行簡(jiǎn)要分析與說明。
通常頁(yè)面之間值傳遞時(shí)會(huì)使用Session變量,這種變量也是比較常見的一種,它能夠?qū)⑿畔⒈4嬖赟ession變量中,如果需要使用時(shí)再?gòu)淖兞恐羞M(jìn)行調(diào)用,十分簡(jiǎn)單、方便、快捷,但是這種方式會(huì)消耗一些服務(wù)器資源,因此在使用過程中要足夠謹(jǐn)慎,可以將不使用的內(nèi)容清除掉,以降低資源的消耗,利用Session變量能夠完成一系列的操作,筆者對(duì)主要的幾句代碼進(jìn)行分析。private void btn_Click(object sender,System.EventArgs e)表示利用頁(yè)面上的按鈕Button的單擊事件來觸發(fā),Session.Ression(“name”)的作用是將變量進(jìn)行清空,讓它釋放出更多的系統(tǒng)資源。
在ASP.NET中除了使用Session變量之外,還可以使用Application變量,該變量與Session變量的作用相似,能夠改變自身變量的狀態(tài)來存儲(chǔ)信息,將這些信息保存在內(nèi)存中,這些信息還可以用作其他用途,例如:用于一些網(wǎng)站中,或者存儲(chǔ)一些個(gè)人的信息。此外,Application變量中還有兩個(gè)方法,分別是Lock方法與Unlock方法,這兩種方法能夠讓用戶對(duì)存儲(chǔ)的信息進(jìn)行寫入, Application.Lock(),是只允許一個(gè)客戶進(jìn)行修改。Application.Unlock(),該語句的作用是解鎖,別的用戶也可以任意修改Application變量的值。
利用Session變量能夠?qū)?shù)據(jù)進(jìn)行存儲(chǔ),但將這些內(nèi)容存儲(chǔ)在服務(wù)器端的內(nèi)存中,會(huì)造成設(shè)定時(shí)間的離線。Session變量與Application不同,可以使用另一種變量進(jìn)行代替,Cookie變量是利用文件的形式來進(jìn)行存儲(chǔ),Cookie是瀏覽頁(yè)面的時(shí)候?qū)懭氲奈谋疚募挥性跒g覽客戶端的時(shí)候才能存放,但并不是存放在服務(wù)端中,在進(jìn)行發(fā)送數(shù)據(jù)或接收數(shù)據(jù)的時(shí)候,就能完成這些操作,發(fā)送頁(yè)面的時(shí)候可以寫:Response cookie(“cookiename”)(“usename”)=“tangyan”
接收頁(yè)面:Request cookie (“cookiename”) (“usename”)
在發(fā)送頁(yè)面時(shí),要對(duì)Cookie進(jìn)行賦值,在接收頁(yè)面中收到的變量值就是傳遞的數(shù)據(jù)。作為客戶端,應(yīng)隨時(shí)保持打開的狀態(tài),否則就不能完成相應(yīng)的操作,或只能進(jìn)行少量的操作,因此如果數(shù)據(jù)量不夠合適,速度就會(huì)比較慢。
在頁(yè)面之間可以傳遞數(shù)據(jù)與值,還可以傳遞對(duì)象,例如DataSet對(duì)象,如果上面的方法不能解決問題,可以利用靜態(tài)變量的方式解決,但會(huì)消耗服務(wù)器資源,只有在用完之后釋放內(nèi)容才能獲得更多資源。
在使用靜態(tài)變量編寫的程序中,Public static DataSet DataSet1是聲明全局?jǐn)?shù)據(jù)集靜態(tài)變量。DataAdapt1.Fill(DataSet1,“TableName”)是通過DataAdapt對(duì)象對(duì)數(shù)據(jù)集進(jìn)行填充。
隱藏文本框是在HTML頁(yè)面上設(shè)置Type為隱藏(Hidden)的文本框,這樣文本框是不可見的,然后將其放在表單中,讓ASP.NET從后臺(tái)數(shù)據(jù)庫(kù)放到隱藏的文本框中,這樣客戶端腳本就能進(jìn)行讀取,還能從隱藏的區(qū)域中將ASP.NET進(jìn)行讀取,主要的代碼如下:lt;Script language=“VBScript”munat=“Server”gt;
lt;%
t=rs(“UserName”)
%gt;
lt;/Scriptgt;
lt;type=”hidden” name=”usename” value=lt;%=t%gt;gt;
采用中間轉(zhuǎn)換的方式,能夠進(jìn)行ASP.NET之間的數(shù)據(jù)傳遞,雖然這種方式有一定的局限性,但是并不會(huì)有很大的影響。隱藏的區(qū)域是表單設(shè)計(jì)下來的,對(duì)服務(wù)器端與客戶端都有一定的作用,要知道有多少個(gè)變量才能確定隱藏文本框,還可以利用查詢串的方式進(jìn)行數(shù)據(jù)傳遞,這其實(shí)是一種URL的方式,利用Web之間的數(shù)據(jù)進(jìn)行傳遞,可以方便實(shí)現(xiàn)數(shù)據(jù)傳遞,但是安全性會(huì)受到一定的影響。將傳輸?shù)臄?shù)據(jù)加在頁(yè)面的URL后面,后面跟隨的字符串就是需要傳遞的數(shù)據(jù),在等號(hào)之前就是變量名,在后面的是數(shù)值,這種方式也有缺點(diǎn),就是在進(jìn)行數(shù)據(jù)傳遞時(shí)內(nèi)容可以在URL中顯示出來,但是用戶看到的內(nèi)容是提交的內(nèi)容,這樣安全性就提高了。
制作表單可以在網(wǎng)頁(yè)上的交互區(qū)域或在瀏覽器中進(jìn)行輸入,通過Form表單的方式進(jìn)行提交,這樣在頁(yè)面里的表單框中就能看到相應(yīng)的數(shù)據(jù),在表單的Action頁(yè)面中也能看到。頁(yè)面的接收語句是:request(“testtext”),利用表單頁(yè)面的文本框能夠?qū)⒂脩舻臄?shù)據(jù)進(jìn)行輸入,然后按提交按鈕就能提交,由request對(duì)數(shù)據(jù)進(jìn)行接收即可。
相較于利用表單實(shí)現(xiàn)數(shù)據(jù)傳遞,使用Server transfer來傳遞數(shù)據(jù)就會(huì)有點(diǎn)復(fù)雜,但是也是可以考慮使用,它是利用Server對(duì)象的transfer進(jìn)行數(shù)據(jù)傳遞,首先要?jiǎng)?chuàng)建一個(gè)Web form,然后在創(chuàng)建的表單中,新建一個(gè)按鈕命名為Button1,還可以放上兩個(gè)文本框?yàn)閠extbox1和textbox2,按鈕創(chuàng)建單擊事件,合理控制程序中的值,再新建一個(gè)表單2,放置上兩個(gè)標(biāo)簽Lablel1和Label2。對(duì)創(chuàng)建的窗體要進(jìn)行實(shí)例化,Webform1 wfl,是獲取實(shí)例化的語句,利用Server transfer的方式實(shí)現(xiàn)數(shù)據(jù)傳遞比較復(fù)雜,因此很多人都不會(huì)使用該方法,可以作為知識(shí)點(diǎn)進(jìn)行了解。
利用ASP.NET進(jìn)行頁(yè)面間值的傳遞是很好的方法,用戶在應(yīng)用該開發(fā)程序時(shí),應(yīng)根據(jù)實(shí)際情況進(jìn)行具體分析,做出合理選擇,這樣才能提高ASP.NET的執(zhí)行效率。相信在眾多專業(yè)技術(shù)人員的共同努力下,未來我國(guó)網(wǎng)頁(yè)技術(shù)方面會(huì)取得更大的進(jìn)步。
[1] 王玉寶.淺析Asp.net中利用Session對(duì)象進(jìn)行傳值[J].中國(guó)新通信,2015,(03):58.
[2] 李莉,森干.《ASP.NET程序設(shè)計(jì)》課程中頁(yè)面間傳值方法探討[J].電腦編程技巧與維護(hù),2016,(21):47-49.
[3] 申圣兵,劉家樂.ViewState在ASP.NET網(wǎng)頁(yè)抓取中的應(yīng)用[J].科技風(fēng),2017,(03):63.
DiscussiononthemethodofpassingvaluesbetweenpagesinASP.NET
YU Lei
(Jilin Radio and Television University, Changchun 130022, China)
When people are at leisure or at work, they all browse the web for knowledge and there are many contents on the web page. However, it is difficult to develop the web page. It needs to pass the value of the web and explain the characteristics of ASP.NET, and analyze the value transfer in different environment. It is hoped to provide some help for future study.
ASP.NET; Value transfer; Object-oriented; Method; Analysis
TP393.09
A
1674-8646(2017)21-0116-02
2017-09-22
于雷(1987-),男(滿族),助教,碩士研究生。