国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

ASP.NET多種不同頁面間數(shù)據(jù)傳遞的方法

2019-11-14 14:19:15
字體:
供稿:網(wǎng)友

1. Get(即使用QueryString顯式傳遞)
     方式:在url后面跟參數(shù)。
     特點:簡單、方便。
     缺點:字符串長度最長為255個字符;數(shù)據(jù)泄漏在url中。
     適用數(shù)據(jù):簡單、少量、關(guān)鍵的數(shù)據(jù)。
     適用范圍:傳遞給自己、傳遞給另一個目標(biāo)頁面;常用于2個頁面間傳遞數(shù)據(jù)。
     用法:例如:url后加?UserID=&hell2. Post
     方式:通用的方式。利用form提交。
     特點:最常用的方法。常用技巧是把隱秘的數(shù)據(jù)存在隱藏域中由form提交。
     適用數(shù)據(jù):大量數(shù)據(jù),包括文件上傳。
     適用范圍:同Get方法
     用法:在客戶端form指定action目標(biāo)后submit、在
asp.net的伺服端中使用server.Transfer(url)提交;在伺服端中用Request.Form["FormFieldID"]獲取。 
3. 頁面對象的屬性
     方式:asp.net特有方式 。利用HttpContext獲取發(fā)請求的頁面的信息。
     特點:可以直接存儲對象。
     缺點:注意強制轉(zhuǎn)換的類型要正確。
     適用數(shù)據(jù):各種數(shù)據(jù)。
     適用范圍:頁面之間傳遞復(fù)雜數(shù)據(jù)。
     用法:獲取Context.Handler將其轉(zhuǎn)換為發(fā)請求的頁面的實例,隨后就可以輕松訪問其form中的字段、甚至屬性。其中的Context是指HttpContext對象,Handler是其屬性,Context.Handler的意思可以理解為創(chuàng)建源頁類的實例變量,而得到此實例之后,就可以直接訪問其中的屬性和Public方法了。
4. cookie
     方式:將數(shù)據(jù)存在客戶端的經(jīng)典方法。
     缺點:安全性低、受客戶端設(shè)置限制、一個站點僅存20個cookie,每個容量4096字節(jié)。
     有效期:自定義或被用戶清除
     適用數(shù)據(jù):用戶的會話數(shù)據(jù)(一般是用戶名,用戶的個性化設(shè)置信息等)
     適用范圍:單個用戶、整個站點所有頁面
     用法:引用Request.Cookies(讀取信息)、Response.Cookies(寫入信息)、或用HttpCookieCollection直接創(chuàng)建Cookie對象。
5. session
     方式:將用戶數(shù)據(jù)存儲在伺服端。
     特點:asp.net中可以設(shè)置session的存儲方式、位置、SessionID的保存是否依賴cookie。
             可以直接存儲對象。 
     缺點:asp.net中有失效的隱患
     有效期:用戶活動時間+自定義延遲。
     適用數(shù)據(jù):用戶的特有信息。
     適用范圍:單個用戶、整個站點所有頁面。
     用法:Session["CollectionName"] = value/object;
6. Cache
     方式:將用戶數(shù)據(jù)存儲在伺服端數(shù)據(jù)緩存中。 
     特點:可以大大提高效率。 可以直接存儲對象。
     缺點:數(shù)據(jù)更新不及時。
     有效期:應(yīng)用程序生命周期或自定義。
     適用數(shù)據(jù):所有頁面、所有用戶都可以共享的數(shù)據(jù)。
     用法:Cache["CollectionName"] = value|object;

http://www.survivalescaperooms.com/sosoft/

7. Appliction
     方式: 將數(shù)據(jù)存儲于此,相當(dāng)于全局變量。 
     特點:可以直接存儲對象。整個站點的共享數(shù)據(jù)。
     有效期:應(yīng)用程序生命周期。
     適用數(shù)據(jù):所有頁面、所有用戶共享的數(shù)據(jù)。
     用法:Appliction["CollectionName"] = value|object;
8. ViewState
     方式:asp.net特有機制,用來恢復(fù)頁面狀態(tài)。 
     特點:將頁面各控件及其所存數(shù)據(jù)序列化存在name為_ViewState的隱藏域中。
     缺點:存在HTML中,安全性較低。可以設(shè)置加密和驗證,但數(shù)據(jù)量會大增、效率有影響。
     適用數(shù)據(jù):頁面PostBack需要保存的數(shù)據(jù),數(shù)據(jù)太大會影響頁面發(fā)送效率。
     適用范圍:頁面自身數(shù)據(jù)保存。
     用法:ViewState["CollectionName"] = value;
9. Static
     方式: 將數(shù)據(jù)存于靜態(tài)變量中。 
     特點:利于提高效率。
     缺點:若用不好會致使用戶或頁面間數(shù)據(jù)紊亂,造成極大的隱患。建議只賦值一次,絕對禁止為單個用戶而更改此值。
     適用數(shù)據(jù):所有用戶共享的數(shù)據(jù)。
     適用范圍:此類所有的頁面實例。
     用法:在class中聲明靜態(tài)變量。
整理:
     頁面自身保存數(shù)據(jù)可用的有ViewState,static變量。
     頁面之間傳遞數(shù)據(jù)常用get,post,HttpContext,當(dāng)然可以變通一下用于自身數(shù)據(jù)保存。
     單用戶的所有頁面數(shù)據(jù)共享常用session,cookie,當(dāng)然也可以應(yīng)用在以上兩種情況。
     整個應(yīng)用程序(所有用戶所用頁面)的數(shù)據(jù)共享常用Appliction,cache,static變量。 
總結(jié):    
     當(dāng)然可以變通下靈活應(yīng)用來解決問題,但是要選擇合適的,常見到濫用Get和Session。
     建議在用Request的時候要指明所取的集合,比如Get方法傳來的參數(shù)從QueryString集合取,Post的從Form取,cookie從Cookies里取。雖然用Request[]集合,以上幾種都可以取到,但是卻造成性能上的浪費,本來直接在Form集合中,卻遍歷了QueryString,Form,Cookies等集合才取出來。
ps:在計算機的世界里,凡是提供服務(wù)的一方我們稱為伺服端(server),而接受服務(wù)的另一方我們稱作客戶端(client)。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 鄂伦春自治旗| 依安县| 彭州市| 定兴县| 阳泉市| 西青区| 广安市| 扶绥县| 涿鹿县| 涟源市| 尼勒克县| 阿荣旗| 庆云县| 博白县| 来宾市| 丽江市| 高碑店市| 清新县| 丰宁| 晴隆县| 建德市| 田林县| 绵阳市| 潼南县| 广安市| 农安县| 乐山市| 葫芦岛市| 永靖县| 嘉峪关市| 炎陵县| 阿拉尔市| 黄龙县| 永济市| 登封市| 诏安县| 康平县| 惠安县| 乌什县| 上栗县| 云南省|