ASP.NET2.0向其它網(wǎng)頁(yè)傳遞信息的方法_.Net教程
推薦:遷移你的Web頁(yè)面到ASP.NET AJAX 1.0如果你在Web站點(diǎn)中使用了AtlasControlToolkit,那么這篇文章有助于遷移你的Web頁(yè)面到ASP.NETAJAX1.0,翻譯自ASP.NETAJAXControlToolkit網(wǎng)站。 隨著ASP.NETAJAX1.0Beta版的發(fā)布,帶來(lái)了很多根本
傳統(tǒng)辦法
為了便于比較,我想花一分鐘來(lái)回顧網(wǎng)頁(yè)傳遞數(shù)據(jù)的老方法。HTML的表格元素有一個(gè)action(動(dòng)作)屬性,用來(lái)指定服務(wù)器端哪項(xiàng)資源(所謂資源,是指一個(gè)網(wǎng)頁(yè)、一段腳本、程序等)來(lái)處理這些提交的數(shù)據(jù)。下面的代碼便是一個(gè)樣例。
|
< html> < body> < form name="frmSample" method="post" action="target_url"> < input type="text" name="fullname" id="fullname" /> < input type="button" name="Submit" value="submit" /> < /form> < /body>< /html> |
在文本域(名字是fullname)中輸入的值將被提交給表單元素的action屬性指定的頁(yè)面或者程序。對(duì)于ASP.NET開(kāi)發(fā)者,即使曾經(jīng)用過(guò)標(biāo)準(zhǔn)HTML表單,也是極不多見(jiàn)的。
ASP.NET開(kāi)發(fā)者面對(duì)要從一個(gè)網(wǎng)頁(yè)向另一個(gè)網(wǎng)頁(yè)傳遞數(shù)據(jù)信息的任務(wù)時(shí),方法選擇的余地是異常廣闊的。它們包括會(huì)話變量(session variables)、cookies、querystring 變量、caching(網(wǎng)頁(yè)緩存),甚至Server.Transfer方法,但是ASP.NET 2.0還提供了另外一種選擇。
ASP.NET 2.0提供的又一辦法
在設(shè)計(jì)ASP.NET 2.0的時(shí)候,微軟認(rèn)識(shí)到了在網(wǎng)頁(yè)間交叉?zhèn)鬟f數(shù)據(jù)的需求。有了這個(gè)意識(shí)之后,就為ASP.NET的button(按鈕)控件增加了一項(xiàng)PostBackUrl屬性。它允許你在用戶提交的時(shí)候,指明這張表單和上面的數(shù)據(jù)送往何方(也就是由PostBackUrl屬性指定的URL值確定)。一般來(lái)講,跨頁(yè)傳遞是客戶端在后臺(tái)使用JavaScript進(jìn)行傳送的過(guò)程。
清單 A中的ASP.NET頁(yè)面擁有兩個(gè)文本域(分別表示name(名字)和e-mail(電子郵件)),以及一個(gè)用來(lái)提交數(shù)據(jù)的button(按鈕)。這個(gè)提交按鈕的PostBackUrl屬性被指定為另外一個(gè)網(wǎng)頁(yè),這樣使得表單提交的時(shí)候,數(shù)據(jù)可以發(fā)送到那個(gè)頁(yè)面。注意:這個(gè)例子中,表單元素通過(guò)設(shè)置method(方法)屬性,讓表單提交時(shí)采用post[2]提交方式,但這不是必要的,因?yàn)樗衏ross postback(跨頁(yè)投遞)根據(jù)設(shè)計(jì)均使用post方法。
[NextPage]
使用先前頁(yè)面
ASP.NET頁(yè)面經(jīng)由跨頁(yè)投遞的調(diào)用而載入的時(shí)候,它上面的對(duì)象的IsPostBack屬性不會(huì)被觸發(fā)。不過(guò),有一項(xiàng)叫做PreviousPage(前一頁(yè))的屬性使你能夠訪問(wèn)和使用那些應(yīng)用跨頁(yè)投遞的頁(yè)面。
每當(dāng)一個(gè)跨頁(yè)請(qǐng)求發(fā)生時(shí),當(dāng)前頁(yè)的PreviousPage屬性就把促發(fā)投遞的頁(yè)面引用保存下來(lái)。如果頁(yè)面的產(chǎn)生不是來(lái)自跨頁(yè)投遞的激發(fā),或者說(shuō)頁(yè)面處于不同的程序組,那么PreviousPage屬性將不會(huì)被初始化。 分享:用事實(shí)說(shuō)話!AJAX應(yīng)用程序開(kāi)發(fā)七宗罪AJAX bandwagon是個(gè)好去處。它帶給你更快、更高效、更強(qiáng)動(dòng)態(tài)的應(yīng)用。但它也有自身的缺陷。
初一看,具備一些常識(shí)似乎就能避免這些缺陷,在一定程度上,的確如此。但從DHTML起源來(lái)看,AJAX應(yīng)用
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無(wú)刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見(jiàn)代碼存在的偽造IP問(wèn)題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(kù)(連接字符串的配置及獲取)
- asp.net頁(yè)面?zhèn)髦禍y(cè)試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲(chǔ)過(guò)程實(shí)現(xiàn)分頁(yè)示例代碼
.Net教程Rss訂閱編程教程搜索
.Net教程推薦
- 解讀.Net技術(shù)開(kāi)發(fā)中兩個(gè)“屬性”引起的歧異
- ASP.NET筆記之頁(yè)面跳轉(zhuǎn)、調(diào)試、form表單、viewstate、cookie的使用說(shuō)明
- 注冊(cè)頁(yè)實(shí)現(xiàn)激活郵箱驗(yàn)證(asp.net c#)
- 使用asp.net的pageDataSource中時(shí)索引問(wèn)題解決方法
- 再議ASP.NET DataGrid控件中的“添加新行”功能
- 解析簡(jiǎn)單實(shí)用的DataGrid自定義分頁(yè)源程序
- 七招制勝ASP.NET應(yīng)用程序開(kāi)發(fā)
- 解析Web開(kāi)發(fā)模式的顛覆者:ASP.NET MVC
- 解讀.NET 2.0中Hashtable快速查找的方法
- 解析linq to xml操作XML的示例分析
- 相關(guān)鏈接:
- 教程說(shuō)明:
.Net教程-ASP.NET2.0向其它網(wǎng)頁(yè)傳遞信息的方法
。