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

首頁 > 編程 > .NET > 正文

ASP.NET 頁面之間傳遞值方式優缺點比較

2024-07-10 12:38:19
字體:
來源:轉載
供稿:網友
本題考查面試者對ASP.NET中多頁面傳值的理解是否全面。因為ASP.NET的頁面表單提交到自身,完成回傳的功能,所以默認情況下不能使用POST方式進行多頁面傳值。關于這些傳值方式的分析如下所示。
1.URL傳值
這是經典的傳值方式,這種方法的使用非常簡單,不過所傳遞的值是會顯示在瀏覽器的地址欄上的,而且不能傳遞對象。所以這種方法一般用于傳遞的值少且安全性要求不高的情況下。在*.aspx頁面開發中可以使用超級鏈接文本進行傳值,如以下代碼所示。
<asp:HyperLink runat="server" ID="HpLink"
NavigateUrl="~/GetValues.aspx?urlvalue1=intel&urlvalue2=amd">URL傳值</asp:HyperLink>
以上鏈接文本將頁面跳轉到GetValues.aspx頁面,并且通過URL傳遞urlvalue1變量和urlvalue2變量,其值分別為intel和amd。在*.cs的服務器端方法中也可以調用HttpResponse對象的Redirect方法,將瀏覽器端重定向到新頁面并通過URL傳值,如以下代碼所示。
Response.Redirect(“~/GetValues.aspx?urlvalue1=intel&urlvalue2=amd”);
2.Session傳值
這種方法將每份數據存儲于服務器變量中,可以傳遞比較多的數據,并且安全性較高,所以常用于用戶身份的驗證功能中。不過,Session變量如果存儲過多的數據會消耗過多的服務器資源,編程者在使用時應該慎重,其使用方法如以下代碼所示。
Session["SessionValue"] = “ATI”;
//也可以用索引存儲
Session[0] = “ATI”;
//在其他頁面的服務器端方法中取值方式為:
string str = Session["SessionValue"].ToString();
//也可以用索引獲取
string str = Session[0].ToString();
Session的可在應用程序的多個頁面中以名稱/值對的方式共享,直到瀏覽用戶關閉自己的瀏覽器或者服務器Session超時(可設置,默認為20分鐘)。
3.Cookie傳值
Cookie是一種比較特殊的數據存儲方式,因為這種方式將數據存儲于瀏覽用戶的電腦中,以文本文件的形式存在于磁盤中。這種方式非常有意思,很多登錄系統就是利用Cookie實現用戶自動登錄。即用戶登錄一次的登錄信息將被寫入到用戶電腦的Cookie文件中,下次登錄時,網站自動讀取該Cookie完成身份驗證。通過Cookie傳遞數據雖然很方便,保存時間可以自由設置,但是安全性不高,編程者不應過于依賴Cookie,而應采用結合的方式完成敏感數據的存儲。
ASP.NET中操作Cookie的主要類型位于System.Web命名空間下,分別為HttpCookie、HttpResponse以及HttpRequest。HttpCookie可建立和操作獨立Cookie的安全類型,訪問HttpResponse和HttpRequest的Cookies屬性可以獲取HttpCookieCollection集合對象,以讀取或添加HttpCookie對象。添加Cookie的方法如以下代碼所示。
//創建一個HttpCookie 對象,向構造函數傳遞名稱值
HttpCookie ck = new HttpCookie("CookieValue");
//設置ck的“Value”屬性(值)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南华县| 遵义市| 固镇县| 胶南市| 兖州市| 揭阳市| 双峰县| 辰溪县| 库车县| 板桥市| 吉木乃县| 泉州市| 庆城县| 三都| 泰宁县| 鹿泉市| 七台河市| 榆社县| 甘谷县| 钟祥市| 濉溪县| 安岳县| 阿城市| 济阳县| 林周县| 乌兰察布市| 岳阳市| 长宁县| 景洪市| 定日县| 宝坻区| 阳曲县| 宜兰县| 会同县| 延寿县| 大新县| 景东| 吐鲁番市| 阿克陶县| 中西区| 宁海县|