ASP.NET2.0向其它網(wǎng)頁傳遞信息的方法(2)_.Net教程
推薦:遷移你的Web頁面到ASP.NET AJAX 1.0如果你在Web站點中使用了AtlasControlToolkit,那么這篇文章有助于遷移你的Web頁面到ASP.NETAJAX1.0,翻譯自ASP.NETAJAXControlToolkit網(wǎng)站。 隨著ASP.NETAJAX1.0Beta版的發(fā)布,帶來了很多根本
你可以通過檢查PreviousPage對象來確定頁面的載入是否為跨頁投遞的結(jié)果。值如果為null,則說明是普通的載入,而非null值則表明網(wǎng)頁來自跨頁投遞。此外,頁面類(Page class)還包含了一個稱作IsCrossPagePostBack的方法(method),專門用來確定頁面是不是跨頁投遞的結(jié)果。
一旦確定發(fā)生了跨頁投遞,你就可以通過PreviousPage對象的FindControl方法去訪問調(diào)用頁(calling page)上的控件。清單B中的代碼是我們例子中的第二頁;它由前面列出的頁面所調(diào)用。
這個頁先判斷它是不是由跨頁投遞所調(diào)用。如果是,就通過FindControl方法訪問來自調(diào)用頁的數(shù)值,并把用此方法得到的控件轉(zhuǎn)換為TextBox控件,然后顯示它們的Text(文本)屬性的內(nèi)容。
你可以把整個PreviousPage對象轉(zhuǎn)換成觸發(fā)跨頁投遞的頁面類型。這個方法允許你訪問頁面的全局屬性(public properties)和方法。在我給出這項技術(shù)的實例之前,我有必要重寫第一個例子,包含進(jìn)一些全局屬性。清單C是添加了兩個屬性的第一個清單,這兩個屬性用于訪問域值。
既然現(xiàn)在屬性已經(jīng)建好,那你就能很容易訪問它們。要警惕的是,Page類的PreviousPage對象必須轉(zhuǎn)換成正確的類型,這樣才能正確訪問它的屬性。這可以通過把它轉(zhuǎn)換成合適的page類別的對象加以實現(xiàn)。
清單 D說明了這一點,它在頁面頭部定義了調(diào)用頁的一項引用,那樣這個引用類型就能在代碼中使用。通過這項引用,實際的VB.NET代碼使用CType函數(shù)把PreviousPage對象轉(zhuǎn)換成了適當(dāng)?shù)念愋�。這之后,那些屬性就可以像代碼示范的那樣使用了。
關(guān)于上述清單中PreviousPage對象IsValid方法的使用在此提醒一下:前頁的IsValid屬性保證你對它操作之前,它已通過所有合法驗證測試。
總結(jié)
在網(wǎng)頁間傳遞數(shù)據(jù)參數(shù)有很多項應(yīng)用,包括保持個人用戶信息。祖?zhèn)鞯木W(wǎng)頁解決方案,像使用querystring和cookies,允許你很容易當(dāng)提交發(fā)生時從一個頁面指向另一個頁面。
ASP.NET 1.1除了提供額外方法外,對這些方法也能很好地支持,可是,ASP.NET 2.0依靠跨頁投遞,使這方面又有了長足發(fā)展。它讓一個網(wǎng)頁處理來自另一網(wǎng)頁的數(shù)據(jù)變得簡單。在你開發(fā)你的下一個ASP.NET 2.0程序的時候,可要好好利用這個新概念的優(yōu)勢啊。
|
[NextPage] < !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > < html>< head> < title>Cross Postback Example< /title> < /head>< body> < form id="frmCrossPostback1" method="post" runat="server"> < asp:Label ID="lblName" runat="server" Text="Name:">< /asp:Label> < asp:TextBox ID="txtName" runat="server">< /asp:TextBox>< br /> < asp:Label ID="lblE-mailAddress" runat="server" Text="E-mail:">< /asp:Label> < asp:TextBox ID="txtE-mailAddress" runat="server">< /asp:TextBox>< br /> < asp:Button ID="btnSubmit" runat="server" Text="Submit" PostBackUrl="CrossPostback2.aspx" /> < /form>< /body>< /html> |
分享:用事實說話!AJAX應(yīng)用程序開發(fā)七宗罪AJAX bandwagon是個好去處。它帶給你更快、更高效、更強(qiáng)動態(tài)的應(yīng)用。但它也有自身的缺陷。
初一看,具備一些常識似乎就能避免這些缺陷,在一定程度上,的確如此。但從DHTML起源來看,AJAX應(yīng)用
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實例(可帶附件)
- js實現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實現(xiàn)
- Asp.Net 無刷新文件上傳并顯示進(jìn)度條的實現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(連接字符串的配置及獲取)
- asp.net頁面?zhèn)髦禍y試實例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲過程實現(xiàn)分頁示例代碼
.Net教程Rss訂閱編程教程搜索
.Net教程推薦
- 解讀.Net技術(shù)開發(fā)中兩個“屬性”引起的歧異
- ASP.NET筆記之頁面跳轉(zhuǎn)、調(diào)試、form表單、viewstate、cookie的使用說明
- 注冊頁實現(xiàn)激活郵箱驗證(asp.net c#)
- 使用asp.net的pageDataSource中時索引問題解決方法
- 再議ASP.NET DataGrid控件中的“添加新行”功能
- 解析簡單實用的DataGrid自定義分頁源程序
- 七招制勝ASP.NET應(yīng)用程序開發(fā)
- 解析Web開發(fā)模式的顛覆者:ASP.NET MVC
- 解讀.NET 2.0中Hashtable快速查找的方法
- 解析linq to xml操作XML的示例分析
- 相關(guān)鏈接:
- 教程說明:
.Net教程-ASP.NET2.0向其它網(wǎng)頁傳遞信息的方法(2)
。