[ASP.NET]跨頁面?zhèn)髦?/h1>

1. 使用QueryString變量

創(chuàng)新互聯公司是專業(yè)的岱山網站建設公司,岱山接單;提供成都網站設計、網站制作,網頁設計,網站設計,建網站,PHP網站建設等專業(yè)做網站服務;采用PHP框架,可快速的進行岱山網站開發(fā)網頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網站,專業(yè)的做網站團隊,希望更多企業(yè)前來合作!

QueryString是一種非常簡單的傳值方式,他可以將傳送的值顯示在瀏覽器的地址欄中。如果是傳遞一個或多個安全性要求不高或是結構簡單的數值時,可以使用這個方法。但是對于傳遞數組或對象的話,就不能用這個方法了。下面是一個例子:

[csharp] view plaincopyprint?[ASP.NET]跨頁面?zhèn)髦?><img src=
  • //ask.aspx的代碼   
  • protected void Button1_Click(object sender,EventArgs e)  
  • {  
  •       Response.Redirect("answer.aspx?name=天天");  
  • }  
  •   
  • //answer.aspx中代碼   
  • protectedvoid Page_Load(object sender, EventArgs e)  
  • {  
  •      Response.Write(Request.QueryString["name"]);  
  • }  
  • 如下圖所示,傳遞的參數包含在了URL中,也因為URL的長度畢竟有限,所以這種方式傳遞的參數一般都是安全性要求不高結構簡單的數值.


                                                                        [ASP.NET]跨頁面?zhèn)髦?></p><p>2. 使用Application 對象變量</p><p>Application對象的作用范圍是整個全局,也就是說對所有用戶都有效。其常用Lock和UnLock方法來對application對象進行鎖定,防止多個用戶同時對次此對象進行操作,造成數據混亂。并且此對象類似與哈希表,采用鍵值對來存儲數據.如下:</p><div   id=

    [csharp] view plaincopyprint?[ASP.NET]跨頁面?zhèn)髦?><img src=
  • //ask.aspx的代碼  
  • private void Button1_Click(object sender, System.EventArgs e)  
  • {  
  •     Application["name"] = "天天";  
  •     Server.Transfer("answer.aspx");  
  • }  
  • //answer.aspx中代碼  
  • private void Page_Load(object sender, EventArgs e)  
  • {  
  • <span style="white-space:pre">  </span>Application.Lock();  
  • <span style="white-space:pre">  </span>Response.Write(Application["name"].ToString());  
  • <span style="white-space:pre">  </span>Application.UnLock();  
  • }  
  •                                                                           [ASP.NET]跨頁面?zhèn)髦?></p><p>這里有一點需要注意的是使用Server.Transfer跳轉頁面的時候瀏覽器顯示的地址并沒有改變,如果不清楚的話,可能會引起誤會.</p><p>3. 使用Session變量</p><p>想必這個肯定是大家使用中最常見的用法了,其操作與Application類似,作用于用戶個人,所以,過量的存儲會導致<a title=服務器內存資源的耗盡。

    ask.aspx的代碼

    [csharp] view plaincopyprint?[ASP.NET]跨頁面?zhèn)髦?><img src=
  • private void Button1_Click(object sender, System.EventArgs e)  
  • {  
  • <span style="white-space:pre">  </span>Session["name"] = "天天";  
  • <span style="white-space:pre">  </span>Response.Redirect ("answer.aspx");  
  • }  
  • //answer.aspx中代碼  
  • private void Page_Load(object sender, EventArgs e)  
  • {  
  • <span style="white-space:pre">  </span>Response.Write(Session["name"].ToString());  
  • }  


  •                                                          [ASP.NET]跨頁面?zhèn)髦?></p><p>4. 使用Cookie對象變量</p><p>這個也是大家常使用的方法,與Session一樣,其是什對每一個用戶而言的,但是有個本質的區(qū)別,即Cookie是存放在客戶端的,而session是存放在服務器端的。而且Cookie的使用要配合ASP.NET內置對象Request來使用。</p><div   id=

    [csharp] view plaincopyprint?[ASP.NET]跨頁面?zhèn)髦?><img src=
  • //ask.aspx的代碼  
  • private void Button1_Click(object sender, System.EventArgs e)  
  • {  
  •       HttpCookiecookieTest = new HttpCookie("name"); //創(chuàng)建cookie對象  
  •       cookieTest.Value ="天天";                      //給cookie對象賦值  
  •       Response.AppendCookie(cookieTest);              //保存cookies對象(response.Cookie.Add(CookieName);)  
  •       erver.Transfer("answer.aspx");  
  • }  
  • //answer.aspx中代碼  
  • private void Page_Load(object sender, EventArgs e)  
  • {  
  •      HttpCookie MyCookie= Request.Cookies["name"];//獲取Cookie對象  
  •      String StrName =MyCookie.Value;   //獲取其變量值  
  •      Response.Write(StrName);  
  • }  
  • [ASP.NET]跨頁面?zhèn)髦?></p><p>5.使用cache緩存的方式</p><p>當然緩存存在的時間不是太長所以需要慎重使用</p><div   id=

    [csharp] view plaincopyprint?[ASP.NET]跨頁面?zhèn)髦?><img src=
  • //ask.aspx的代碼  
  •  protected void Button1_Click(object sender,EventArgs e)  
  •  {  
  •            this.Cache.Insert("name", "天天");  
  •            Server.Transfer("answer.aspx");  
  • }  
  •   
  • //answer.aspx中代碼  
  • protectedvoid Page_Load(object sender, EventArgs e)  
  • {  
  •            Response.Write(Cache["name"].ToString());  
  • }  
  • [ASP.NET]跨頁面?zhèn)髦?></p><p>6. 使用Server.Transfer方法</p><p>這個才可以說是面象對象開發(fā)所使用的方法,其使用Server.Transfer方法把流程從當前頁面引導到另一個頁面中,新的頁面使用前一個頁面的應答流,所以這個方法是完全面象對象的,簡潔有效。</p><div   id=

    [csharp] view plaincopyprint?[ASP.NET]跨頁面?zhèn)髦?><img src=
  • //ask.aspx的代碼  
  • public string name  
  • {  
  •      get  
  •      {  
  •          return "天天";  
  •       }  
  • }  
  • private void Button1_Click(object sender, System.EventArgs e)  
  • {  
  • <span style="white-space:pre">  </span>Server.Transfer("answer.aspx");  
  • }  
  •   
  • //answer.aspx中C#代碼  
  • private void Page_Load(object sender, EventArgs e)  
  • {  
  •      ask a = new ask();  
  •      string StrName  = a.name;  
  •      Response.Write(StrName);  
  • }  
  • [ASP.NET]跨頁面?zhèn)髦?></p><p>錯誤紕漏再所難免,歡迎蒞臨指正</p>            <p>
                分享文章:<a href=[ASP.NET]跨頁面?zhèn)髦?/a>
    當前地址:http://bm7419.com/article12/ipopgc.html

    成都網站建設公司_創(chuàng)新互聯,為您提供靜態(tài)網站、外貿網站建設響應式網站、網站維護外貿建站、建站公司

    廣告

    聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯