熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

ASP.NET跨頁面傳值技巧總結

2022-06-13   來源: .NET編程 

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

  aaspx的C#代碼

  private void Button_Click(object sender SystemEventArgs e)

  {

  string s_url;

  s_url = baspx?name= + LabelText;

  ResponseRedirect(s_url);

  }

  baspx中C#代碼

  private void Page_Load(object sender EventArgs e)

  {

  LabelText = RequestQueryString[name];

  }

  使用Application 對象變量

  Application對象的作用范圍是整個全局也就是說對所有用戶都有效其常用的方法用Lock和UnLock

  aaspx的C#代碼

  private void Button_Click(object sender SystemEventArgs e)

  {

  Application[name] = LabelText;

  ServerTransfer(baspx);

  }

  baspx中C#代碼

  private void Page_Load(object sender EventArgs e)

  {

  string name;

  ApplicationLock();

  name = Application[name]ToString();

  ApplicationUnLock();

  }

  使用Session變量

  想必這個肯定是大家使用中最常見的用法了其操作與Application類似作用於用戶個人所以過量的存儲會導致服務器內存資源的耗盡

  aaspx的C#代碼

  private void Button_Click(object sender SystemEventArgs e)

  {

  Session[name] = LabelText;

  }

  baspx中C#代碼

  private void Page_Load(object sender EventArgs e)

  {

  string name;

  name = Session[name]ToString();

  }

  

  使用Cookie對象變量

  這個也是大家常使用的方法與Session一樣其是什對每一個用戶而言的但是有個本質的區別即Cookie是存放在客戶端的而session是存放在服務器端的而且Cookie的使用要配合ASPNET內置對象Request來使用

  aaspx的C#代碼

  private void Button_Click(object sender SystemEventArgs e)

  {

  HttpCookie cookie_name = new HttpCookie(name);

  cookie_nameValue = LabelText;

  ReponseAppendCookie(cookie_name);

  ServerTransfer(baspx);

  }

  baspx中C#代碼

  private void Page_Load(object sender EventArgs e)

  {

  string name;

  name = RequestCookie[name]ValueToString();

  }

  使用ServerTransfer方法

  這個才可以說是面象對象開發所使用的方法其使用ServerTransfer方法把流程從當前頁面引導到另一個頁面中新的頁面使用前一個頁面的應答流所以這個方法是完全面象對象的簡潔有效

  aaspx的C#代碼

  public string Name

  {

  get{ return LabelText;}

  }

  private void Button_Click(object sender SystemEventArgs e)

  {

  ServerTransfer(baspx);

  }

  baspx中C#代碼

  private void Page_Load(object sender EventArgs e)

  {

  a newWeb; //實例a窗體

  newWeb = (source)ContextHandler;

  string name;

  name = newWebName;

  }


From:http://tw.wingwit.com/Article/program/net/201311/11559.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.