真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

ASP.NET怎么實(shí)現(xiàn)跨頁提交功能

這篇文章主要介紹“ASP.NET怎么實(shí)現(xiàn)跨頁提交功能”,在日常操作中,相信很多人在ASP.NET怎么實(shí)現(xiàn)跨頁提交功能問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對(duì)大家解答”ASP.NET怎么實(shí)現(xiàn)跨頁提交功能”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

創(chuàng)新互聯(lián)建站是一家從事企業(yè)網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)站建設(shè)、行業(yè)門戶網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)制作的專業(yè)的建站公司,擁有經(jīng)驗(yàn)豐富的網(wǎng)站建設(shè)工程師和網(wǎng)頁設(shè)計(jì)人員,具備各種規(guī)模與類型網(wǎng)站建設(shè)的實(shí)力,在網(wǎng)站建設(shè)領(lǐng)域樹立了自己獨(dú)特的設(shè)計(jì)風(fēng)格。自公司成立以來曾獨(dú)立設(shè)計(jì)制作的站點(diǎn)超過千家。

傳統(tǒng)辦法

為了便于比較,我們來回顧網(wǎng)頁傳遞數(shù)據(jù)的老方法。HTML的表格元素有一個(gè)action(動(dòng)作)屬性,用來指定服務(wù)器端哪項(xiàng)資源(所謂資源,是指一個(gè)網(wǎng)頁、一段腳本、程序等)來處理這些提交的數(shù)據(jù)。下面的代碼便是一個(gè)樣例。

以下是ASP.NET功能引用片段:

    Sample HTML form                         

在文本域(名字是fullname)中輸入的值將被提交給表單元素的action屬性指定的頁面或者程序。對(duì)于ASP.NET開發(fā)者,即使曾經(jīng)用過標(biāo)準(zhǔn)HTML表單,也是極不多見的。

ASP.NET開發(fā)者面對(duì)要從一個(gè)網(wǎng)頁向另一個(gè)網(wǎng)頁傳遞數(shù)據(jù)信息的任務(wù)時(shí),方法選擇的余地是異常廣闊的。它們包括會(huì)話變量(session variables)、cookies、querystring 變量、caching(網(wǎng)頁緩存),甚至Server.Transfer方法,但是ASP.NET 2.0還提供了另外一種選擇。

ASP.NET 2.0提供的又一辦法

在設(shè)計(jì)ASP.NET 2.0的時(shí)候,微軟認(rèn)識(shí)到了在網(wǎng)頁間交叉?zhèn)鬟f數(shù)據(jù)的需求。有了這個(gè)意識(shí)之后,就為ASP.NET的button(按鈕)控件增加了一項(xiàng)PostBackUrl屬性。它允許你在用戶提交的時(shí)候,指明這張表單和上面的數(shù)據(jù)送往何方(也就是由PostBackUrl屬性指定的URL值確定)。一般來講,跨頁傳遞是客戶端在后臺(tái)使用JavaScript進(jìn)行傳送的過程。

以下是ASP.NET功能引用片段:

<%@ Page language="vb" %>         Cross Postback Example                               

ASP.NET頁面擁有兩個(gè)文本域(分別表示name(名字)和e-mail(電子郵件)),以及一個(gè)用來提交數(shù)據(jù)的button(按鈕)。這個(gè)提交按鈕的PostBackUrl屬性被指定為另外一個(gè)網(wǎng)頁,這樣使得表單提交的時(shí)候,數(shù)據(jù)可以發(fā)送到那個(gè)頁面。注意:這個(gè)例子中,表單元素通過設(shè)置method(方法)屬性,讓表單提交時(shí)采用post[2]提交方式,但這不是必要的,因?yàn)樗衏ross postback(跨頁投遞)根據(jù)設(shè)計(jì)均使用post方法。

使用先前頁面

ASP.NET頁面經(jīng)由跨頁投遞的調(diào)用而載入的時(shí)候,它上面的對(duì)象的IsPostBack屬性不會(huì)被觸發(fā)。不過,有一項(xiàng)叫做PreviousPage(前一頁)的屬性使你能夠訪問和使用那些應(yīng)用跨頁投遞的頁面。

每當(dāng)一個(gè)跨頁請(qǐng)求發(fā)生時(shí),當(dāng)前頁的PreviousPage屬性就把促發(fā)投遞的頁面引用保存下來。如果頁面的產(chǎn)生不是來自跨頁投遞的激發(fā),或者說頁面處于不同的程序組,那么PreviousPage屬性將不會(huì)被初始化。

你可以通過檢查PreviousPage對(duì)象來確定頁面的載入是否為跨頁投遞的結(jié)果。值如果為null,則說明是普通的載入,而非null值則表明網(wǎng)頁來自跨頁投遞。此外,頁面類(Page class)還包含了一個(gè)稱作IsCrossPagePostBack的方法(method),專門用來確定頁面是不是跨頁投遞的結(jié)果。

一旦確定發(fā)生了跨頁投遞,你就可以通過PreviousPage對(duì)象的FindControl方法去訪問調(diào)用頁(calling page)上的控件。下面的代碼是我們例子中的第二頁;它由前面列出的頁面所調(diào)用。

以下是ASP.NET功能引用片段:

<%@ Page language="vb" %>         Cross Postback Example 2         Sub Page_Load()   If Not (Page.PreviousPage Is Nothing) Then   If Not (Page.IsCrossPagePostBack) ThenResponse.Write("Name:" + CType(PreviousPage.FindControl("txtName"), TextBox).Text + "
")Response.Write("E-mail:" + CType(PreviousPage.FindControl("txtE-mailAddress"), TextBox).Text + "
")    End If   End If   End Sub         

這個(gè)頁先判斷它是不是由跨頁投遞所調(diào)用。如果是,就通過FindControl方法訪問來自調(diào)用頁的數(shù)值,并把用此方法得到的控件轉(zhuǎn)換為TextBox控件,然后顯示它們的Text(文本)屬性的內(nèi)容。

你可以把整個(gè)PreviousPage對(duì)象轉(zhuǎn)換成觸發(fā)跨頁投遞的頁面類型。這個(gè)方法允許你訪問頁面的全局屬性(public properties)和方法。下面代碼是添加了兩個(gè)屬性的***個(gè)清單,這兩個(gè)屬性用于訪問域值。

以下是引用片段:

<%@ Page language="vb" %>         Cross Postback Example      Public ReadOnly Property Name   Get   Return Me.txtName.Text   End Get   End Property   Public ReadOnly Property E-mailAddress   Get   Return Me.txtE-mailAddress.Text   End Get   End Property                               

既然現(xiàn)在屬性已經(jīng)建好,那你就能很容易訪問它們。要警惕的是,Page類的PreviousPage對(duì)象必須轉(zhuǎn)換成正確的類型,這樣才能正確訪問它的屬性。這可以通過把它轉(zhuǎn)換成合適的page類別的對(duì)象加以實(shí)現(xiàn)。

以下是引用片段:

<%@ Page language="vb"%>   <%@ Reference Page="~/CrossPostback1.aspx" %>            Cross Postback Example 3         Sub Page_Load()   Dim cppPage As CrossPostback1_aspx   If Not (Page.PreviousPage Is Nothing) Then   If Not (Page.IsCrossPagePostBack) Then   If (Page.PreviousPage.IsValid) ThencppPage = CType(PreviousPage, CrossPostBack1_aspx)Response.Write("Name:" + cppPage.Name + "
")Response.Write("E-mail:" + cppPage.E-mailAddress)     End If   End If   End If   End Sub         

說明了這一點(diǎn),它在頁面頭部定義了調(diào)用頁的一項(xiàng)引用,那樣這個(gè)引用類型就能在代碼中使用。通過這項(xiàng)引用,實(shí)際的VB.NET代碼使用CType函數(shù)把PreviousPage對(duì)象轉(zhuǎn)換成了適當(dāng)?shù)念愋?。這之后,那些屬性就可以像代碼示范的那樣使用了。

關(guān)于上述清單中PreviousPage對(duì)象IsValid方法的使用在此提醒一下:前頁的IsValid屬性保證你對(duì)它操作之前,它已通過所有合法驗(yàn)證測試。

ASP.NET功能總結(jié)

在網(wǎng)頁間傳遞數(shù)據(jù)參數(shù)有很多項(xiàng)應(yīng)用,包括保持個(gè)人用戶信息。祖?zhèn)鞯木W(wǎng)頁解決方案,像使用querystring和cookies,允許你很容易當(dāng)提交發(fā)生時(shí)從一個(gè)頁面指向另一個(gè)頁面。

ASP.NET 1.1除了提供額外方法外,對(duì)這些方法也能很好地支持,可是,ASP.NET 2.0依靠跨頁投遞,使這方面又有了長足發(fā)展。它讓一個(gè)網(wǎng)頁處理來自另一網(wǎng)頁的數(shù)據(jù)變得簡單。在你開發(fā)你的下一個(gè)ASP.NET 2.0程序的時(shí)候,可要好好利用這個(gè)新概念的優(yōu)勢(shì)啊。

到此,關(guān)于“ASP.NET怎么實(shí)現(xiàn)跨頁提交功能”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!


網(wǎng)站標(biāo)題:ASP.NET怎么實(shí)現(xiàn)跨頁提交功能
文章地址:http://weahome.cn/article/iiihhh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部